Inizio nel dire che mi sono avvicinato a Asp.Net e a C# da pochissimo, e quindi chiedo scusa se faccio domande che possono sembrare semplici e banali.
Ma per questo ho cercato parecchio in giro e non trovo niente che mi possa aiutare.
Ho una funzione che prende dei dati e li trasforma in una DataTable che poi mostra inserendoli in una GridView.
codice:grwResults.DataSource = GetData(query, LastNum); grwResults.DataBind();
Questi dati sono ovviamente dinamici, presi da un database e cambiano in base a dei dati che inserisce l'utente in un'altro campo.
In questa GridView deve venire creato dinamicamente un bottone/link (io ho provato con LinkButton) che OnClick chiama una funzione (in questo esempio: btnSearch).
Il mio problema è che questa funzione richiede dei parametri. Due glieli passo tramite viewstate e non è un problema perchè nonostante siano anch'essi dinamici sono uguali per tutti i bottono creati.
Ma uno dipende dal bottone che crea. Praticamente ogni bottone del gridview dovrebbe passare un dato diverso.
Quindi la funzione GetData prende dei dati dal database in base ad una ricerca, li mette in una DataTable che viene mostrata tramite GridView.
Quest GridView avrà varie righe, a dipendenza del risultato, e in ogni riga ci deve essere un bottone che richiama una funzione passandogli il nome del logo.
Come posso far si che la funzione btnSearch sappia da chi è stata chiamata e possa prendere il dato che serve ?codice:<asp:GridView ID="grwResults" runat="server" AutoGenerateColumns="False" style="width: 100%; height: 100%" AllowPaging="false" CellPadding="5"> <RowStyle BackColor="White" /> <HeaderStyle BackColor="#92B7CA" /> <AlternatingRowStyle BackColor="#92B7CA" /> <Columns> <asp:TemplateField HeaderText="Logo" ItemStyle-HorizontalAlign="Left"> <ItemTemplate> <asp:LinkButton ID="Search_1" runat="server" OnClick="btnSearch"> <img width="80" height="25" alt="<%# Eval("name", "{0}") %>" src="<%# Eval("logo", "{0}") %>" /> </asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Numeri" ItemStyle-HorizontalAlign="Left"> <ItemTemplate> <asp:LinkButton ID="Search_2" runat="server" OnClick="btnSearch"> (<%# Eval("number", "{0}") %>) </asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <EmptyDataTemplate><div id="divEmptyResults" style="display: none">Your search - <asp:Label ID="lblEmptyResults" runat="server" Font-Bold="True" /> - did not match any documents. </EmptyDataTemplate> </asp:GridView>

Rispondi quotando
