331 messaggi dal 06 maggio 2003
Ho una banalissima GridWiev popolata da database con una funzione associata al "OnRowCommand"

<asp:GridView ID="GV_Appuntamenti" DataKeyNames="Agenda_ID" OnRowCommand="rowCmd" BackColor="AliceBlue" runat="server" AutoGenerateColumns="False">


Questa gridview ha una colonna ButtonField formattata come segue

<asp:ButtonField ButtonType="Image" ImageUrl="../struttura/b_view.gif" CommandName="visualizza" />


Il mio problema è che quando clicco sulla buttonfield la funzione "rowCmd" viene lanciata due volte. Questo per me è un po' un problema in quanto la funzione è pesantuccia e fa accesso ad un DB, ho paura che poi, entrato in produzione il sito mi vada ad incriccare il server.

Non c'è un modo per evitare il "doppio lancio"?
331 messaggi dal 06 maggio 2003
Ho notato che la cosa si verifica anche con una pagina pulita pulita senza altre funzioni al di fuori di quella scatenata dall' OnRowCommand
331 messaggi dal 06 maggio 2003
Ma solo a me capita questa cosa?
203 messaggi dal 29 giugno 2007
ciao!

non sei l'unico/a (utente/iena?? ) cui succede...

è successo anche a me e da ricerche che ho fatto su internet sembra che sia un piccolo bug della colonna "pulsante" quando il comando è settato su "IMAGE".

ora non so se nel frattempo sia stato risolto (magari!potrei aggiornare un paio di lavori!) cmq se tu provi con i tipi link o bottone l'evento è scatenato solamente una volta!

se scopri qualcosa di diverso, avvisami!

HTH
331 messaggi dal 06 maggio 2003
Ok dai, se non altro scopro che non sono l'unicO (  ) a cui succede e che non è un mio errore nella programmazione ... allora intanto lascio così, se mi crea problemi sostituirò la mia bellissima gif con un anonimo link o bottone
5 messaggi dal 18 gennaio 2007
Io ho trovato la soluzione grazie ad un forum di cui non ricordo l'indirizzo.
Comunque puoi provare cosi':
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" CommandName="View"
ImageUrl="~/img/Trova.gif" CommandArgument=<%# DataBinder.Eval(Container,"RowIndex") %>
imagealign=Middle/>

Nella gestione del codice poi metti questo:
Protected Sub Gv1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles Gv1.RowCommand
'Gestore eventi pulsanti del GridView
If e.CommandName = "View" Then
'il tuo codice
'
'
End If
End Sub

Spero di esservi stato utile

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.