Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    118

    [asp.net e c#] Aggiungere controllo

    Salve a tutti, espongo il mio problema.
    Il mio script crea una tabella (control Table) con varie righe che al loro interno hanno alcune celle.
    Sto provando ad aggiungere dei buttons in alcune celle della tabella, con scarso successo.

    La cella in cui voglio inserire il bottone non accetta questo tipo di scrittura, o meglio, non fa comparire il bottone:

    codice:
    buttons.Text = "<asp:Button ID=\"" + dr["nome"].ToString() + "\" runat=\"server\" Text=\"Button\" OnClick=\"Button1_Click\" />";
    buttons è il nome della cella che ho creato, dr["nome"].ToString() non è altro che un testo che mi ritorna una stringa.
    In pratica la cella è vuota, non viene creato niente.



    Ho visto che inoltre esiste un comando per l'aggiunta di controls alle celle di questo tipo:

    codice:
    Button btn = new Button();
    buttons.Controls.Add(btn);
    Ma anche qui non viene aggiunto nessun pulsante. Ho provato a mettere alcune proprietà come btn.Enabled=true, btn.Visible=true, ma niente da fare, non me lo aggiunge.

    Chi mi aiuta perfavore?

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    buttons.Controls.Add(btn);
    mi sa che è Me.Controls.Add(btn);

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Originariamente inviato da cassano
    mi sa che è Me.Controls.Add(btn);
    o meglio
    codice:
    this.Controls.Add(btn);
    visto che programma in cs

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    scusa era in c ,non me ne ero reso conto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    118
    Beh i metodi che ho scritto sono uguali ai vostri :S
    buttons è la cella... il risultato non cambia.

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Il controllo lo devi aggiungere alla cella, non alla pagina

    crei tabella
    crei riga
    crei cella
    crei controllo
    aggiungi controllo ai controlli di cella
    aggiungi cella ai controlli di riga
    aggiungi riga a tabella

    Pietro

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    118
    E' quello che ho fatto, ora ho scoperto il problema.
    L'aggiunta di un controllo ad una cella esclude la possibilità di inserire del testo all'interno della stessa. Io oltre ad inserire il bottone immettevo anche del testo e così non creava la cella.

    Buono a sapersi ^^

    Grazie a tutti comunque!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    118
    Avrei un'altra domanda, sono sempre fermo al bottone.

    In pratica creo il bottone via script (e quindi non tramite tag html quali <asp:Button ....>) e ad esso dovrei associargli un evento.
    Quest'ultimo riceve vari parametri dallo script principale, ma il mio problema sta proprio nell'associare al pulsante l'evento che ho inserito.

    Ho uno script di questo tipo io:

    codice:
     
    
    //vengono inseriti all'interno delle celle di una taballa dei pulsanti che utilizzano un evento, ogni pulsante riceve un ID diverso
    
    void programma principale
    {
      Button btn = new Button();
      TableCell cella = new TableCell();
      TableRow riga = new TableRow();
    
      while(dr.Read())
      {
          int i = 0, z = 2;
          buttons.Controls.Add(btn); // aggiunge il pulsante
             ** qui dovrei associare al pulsante l'evento Button1_Click con i suoi parametri **
          riga.Cells.Add(buttons);
          tabella.Rows.Add(riga);
      }
    }
    
    void Button1_Click(object sender, CommandEventArgs e, int i, int z)
    {
        ** codice del comando **
    }
    In pratica non so come associarli l'evento, ho provato con la sintassi btn.Attributes.Add("OnClick", "Button1_Click( sender, e, i, z)") ma naturalmente non funziona.

    Che cosa posso fare?

    Grazie ancora!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    codice:
    bottone.onClick += new OnClickEventHandler(nome_void);
    purtroppo (per me) tu usi cs. questo codice in vb te lo potevo fornire con una risposta sicura (so che va), in cs ti posso dare questa risposta, però magari sbaglio qualcosa nella sintassi, visto che (almeno in questo) la sintassi tra vb e cs è abbastanza diversa.

    ah.. ricordati che non puoi cambiare la firma (sarebbe il contenuto della parantesi della tua void) per quell'evento.
    per cui (int i, int z) non credo ci debbano stare.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    118
    Purtroppo non esiste bottone.OnClick, e nemmeno l'evento OnClickEventHandler.

    Cerco di scovare qualcosa sul web, anche se è tutto il giorno che guardo...

    grazie lo stesso comunque!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.