Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137

    [ASP.NET VB] Impostare PostBackUrl di ImageButton dinamicamente

    Ciao a tutti. Scusate se apro una discussione probabilmente esistente ma non sono riuscito a trovare nulla facendo una ricerca sul forum.... forse per le parole chiave che ho utilizzato o per il titolo dato dagli altri utenti ad un problema abbastanza diffuso.

    Porto un esempio pratico...

    Ho una tabella (html) con N righe. Una per ogni NOME che persco da un database.
    Ad ogni NOME corrisponde un ImageButton che mi dovrebbe consentire di eliminare il valore dal DB.

    Tabella "Nomi"
    IdNome (Chiave Primaria)
    Nome (Valore Stringa)


    Formattato in html viene più o meno

    Tizio - [ELIMINA]
    Caio - [ELIMINA]
    Sempronio - [ELIMINA]


    I vari "Elimina" non sono altro che ImageButton di cui gestisco l'evento CLICK. Come faccio per stabilire a quale NOME fa riferimento? Pensavo di impostare il valore "PostBackUrl" a

    "miapagina.aspx?id=" & DataReader("IDNome")

    Per poi gestirlo da codice su CLICK sul pulsante. Ma come si fa?

    codice:
    <asp:ImageButton ID="cmdiCancella" runat="server" ImageUrl="images/delete.gif" PostBackUrl="miapagina.aspx?id=[COME METTO QUI UN ID IN MODO DINAMICO??]" />
    Genero le righe nel seguente modo:
    codice:
    If DR.HasRows Then
        Do While DR.Read
        %>
        <tr>
            <td><%=DR("Nome")%></td>
            <td style="text-align: right">[img]images/edit.gif[/img]<asp:ImageButton ID="cmdiCancella" runat="server" ImageUrl="images/delete.gif" /></td>
        </tr>
        <%
        Loop
    End If
    Grazie in anticipo e scusate il modo non molto comprensibile con cui mi sono spiegato.
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Guarda questo esempio con una GridView:

    ASPX
    codice:
            <asp:gridview id="gv" Width="200" 
                autogeneratecolumns="false"
                datakeynames="id"
                runat="server"  
                onselectedindexchanged="gv_SelectedIndexChanged"
                SelectedRowStyle-BackColor=AliceBlue>
                <Columns>
                    <asp:BoundField DataField="nome" HeaderText="Nome" />
                    <asp:ButtonField ButtonType=Link CommandName="Select" Text="Elimina" />
                </Columns>
          </asp:gridview>
    VB:
    codice:
        Protected Sub gv_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
            Response.Write("Id selezionato: ")
            Response.Write(gv.DataKeys(gv.SelectedIndex).Value)
        End Sub
    Sfruttando la proprietà datakeynames puoi impostare il campo che contiene l'ID e recuperarlo poi con la proprietà DataKeys(indice) alla pressione del tasto Elimina (che seleziona anche la riga).

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.