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

    Operare su diversi controlli tramite CommandArgument

    Ciao a tutti,
    ho una serie di imagebuttons che si chiamano tutti in questo modo: btn_exp_1, btn_exp_2 ecc. ecc. Ogni imagebutton ha un CommandArgument (pari a 1, 2, ecc. ecc.).

    Vorrei a questo punto, tramite la funzione comune, operare sul bottone opportuno. Come posso fare?

    Potrei certamente fare con uno switch, però se ho tanti bottoni diventa ingestibile.
    Vorrei quindi fare una cosa del genere: btn_exp_$cmdname.Visible=false;
    dove $cmdname è il CommandArgument passato.

    è possibile fare una cosa del genere?!

    Ciao,
    Marco
    Marco Tibaldeschi
    www.dontbenegative.it

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non ho capito molto quello che vuoi,:master: poi non lavoro in c# ma ho provato così: vedi se serve

    codice:
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        protected void Page_Init(object sender, EventArgs e)
        {
            for (int i = 1; i <= 5; i++)
            {
                ImageButton ib = (ImageButton)this.FindControl("btn_exp_" + i.ToString());
                ib.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton_click);
                
            }
        }
    
        private void ImageButton_click(object sender, ImageClickEventArgs e)
        { 
            ImageButton ib = (ImageButton) sender;
            this.Response.Write("ID = " + ib.ID + ", CommandArgument = " + ib.CommandArgument + "
    ");
        }
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ImageButton ID="btn_exp_1" runat="server" CommandArgument="1" />
            <asp:ImageButton ID="btn_exp_2" runat="server" CommandArgument="2" />
            <asp:ImageButton ID="btn_exp_3" runat="server" CommandArgument="3" />
            <asp:ImageButton ID="btn_exp_4" runat="server" CommandArgument="4" />
            <asp:ImageButton ID="btn_exp_5" runat="server" CommandArgument="5" />
        </div>
        </form>
    </body>
    </html>
    Pietro

  3. #3

    Ho provato ma...

    Ho provato, ma mi dice che non trovagli oggetti ricercati tramite FindControl... Cosa può essere?

    Grazie,
    Marco
    Marco Tibaldeschi
    www.dontbenegative.it

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: Ho provato ma...

    Originariamente inviato da Marconline
    Ho provato, ma mi dice che non trovagli oggetti ricercati tramite FindControl... Cosa può essere?

    Grazie,
    Marco
    come vedi, quella che ho mandato è una pagina completa e collaudata con Visual studio.
    Di più non so
    Pietro

  5. #5
    Ho risolto in modo un po' brutale, facendo partire la ricerca di FindControls non da this, ma da un controllo trovato navigando tra i controlli della pagina con Controls[...].

    Stranissimo: il primo controllo è la master page, la quale ha diversi controlli. Uno di questi "sotto-controlli" ha un sotto-controllo che contiene, a sua volta, la pagina di contenuto.

    Un po' paciugato, ma il concetto dovrebbe essere chiaro.

    Ciao
    Marco
    Marco Tibaldeschi
    www.dontbenegative.it

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.