Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C#] Inserire Javascript in una classe .cs

    Salve a tutti.

    Mi sono imbattuto in un progetto web scritto in C#.

    Il mio obiettivo è quello di creare un web custom control che renderizzi una Table(o la nasconda) alla pressione di un bottone.

    Ho creato un file .js in cui ho scritto questa funzione:

    function HideShow(id)
    {
    var row = document.getElementById(id);
    if(row.style.display=='none')
    {
    row.style.display='block';
    }
    else
    {
    row.style.display='none';
    }
    }


    Ho poi inseriro nell' OnPreRender della pagina la riga che verrà nascosta/mostrata alla pressione del bottone:

    private TableRow _expandProcessListRow;

    protected override void OnPreRender(EventArgs e)
    {
    //...
    this._expandProcessListRow = new TableRow();
    this._expandProcessListRow.ID = "_processListRowID";
    this._expandProcessListRow.Style.Add(HtmlTextWrite rStyle.Display, "none");

    // Nell'OnPreRender viene poi chiamato il metodo che mostra la tabella:
    CreateTable();
    }

    Eccolo qui (in modo semplificato):

    private Table CreateTable()
    {
    Table GroupedTable = new Table();
    GroupedTable.BorderWidth = Unit.Pixel(0);
    GroupedTable.CellPadding = 0;
    GroupedTable.CellSpacing = 0;
    GroupedTable.Style.Add(HtmlTextWriterStyle.Width, "100%");

    TableRow HeaderRow = new TableRow();
    TableCell HeaderCell = new TableCell();

    //Questo è il bottone che scatenerà l'evento
    ImageButton bottone = new ImageButton();
    bottone.ImageUrl = this.Page.ClientScript.GetWebResourceUrl(this.GetT ype(), "Resources.Images.Expand.gif");
    bottone .Attributes.Add("onclick", "javascript:HideShow('" + this._expandProcessListRow.ID + "');");

    HeaderCell.Controls.Add(this._imageButton)
    HeaderRow.Cells.Add(HeaderCell);
    GroupedTable.Rows.Add(HeaderRow);

    // Aggiungo un testo alla riga da mostrare/nascondere
    TableCell processListCell = new TableCell();
    processListCell.Text = "PROVA";
    this._expandProcessListRow.Cells.Add(processListCe ll);

    worklistItemGroupedTable.Rows.Add(this._expandProc essListRow);
    }


    Non mi funziona...commetto qualche errore?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Tag code o php per cortesia.. così il codice è illeggibile (come da regolamento appunto)

  3. #3
    Salve a tutti.

    Mi sono imbattuto in un progetto web scritto in C#.

    Il mio obiettivo è quello di creare un web custom control che renderizzi una Table(o la nasconda) alla pressione di un bottone.

    Ho creato un file .js in cui ho scritto questa funzione:


    codice:
    function HideShow(id)
    {
    var row = document.getElementById(id);
    if(row.style.display=='none')
    {
    row.style.display='block';
    }
    else 
    {
    row.style.display='none';
    }
    }

    Ho poi inseriro nell' OnPreRender della pagina la riga che verrà nascosta/mostrata alla pressione del bottone:

    codice:
    private TableRow _expandProcessListRow;
    
    protected override void OnPreRender(EventArgs e)
    {
    //...
    this._expandProcessListRow = new TableRow();
    this._expandProcessListRow.ID = "_processListRowID";
    this._expandProcessListRow.Style.Add(HtmlTextWriterStyle.Display, "none");
    
    // Nell'OnPreRender viene poi chiamato il metodo che mostra la tabella:
    CreateTable();
    }
    Eccolo qui (in modo semplificato):

    codice:
    private Table CreateTable()
    {
    Table GroupedTable = new Table();
    GroupedTable.BorderWidth = Unit.Pixel(0);
    GroupedTable.CellPadding = 0;
    GroupedTable.CellSpacing = 0;
    GroupedTable.Style.Add(HtmlTextWriterStyle.Width, "100%");
    
    TableRow HeaderRow = new TableRow();
    TableCell HeaderCell = new TableCell(); 
    
    //Questo è il bottone che scatenerà l'evento
    ImageButton bottone = new ImageButton();
    bottone.ImageUrl = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "Resources.Images.Expand.gif");
    bottone .Attributes.Add("onclick", "javascript:HideShow('" + this._expandProcessListRow.ID + "');");
    
    HeaderCell.Controls.Add(this._imageButton) 
    HeaderRow.Cells.Add(HeaderCell);
    GroupedTable.Rows.Add(HeaderRow);
    
    // Aggiungo un testo alla riga da mostrare/nascondere
    TableCell processListCell = new TableCell();
    processListCell.Text = "PROVA";
    this._expandProcessListRow.Cells.Add(processListCell);
    
    worklistItemGroupedTable.Rows.Add(this._expandProcessListRow);
    }
    Non mi funziona...commetto qualche errore?
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.