Capire quale ITEM è stato cliccato da un evento DataList_ItemCommand

giovedì 11 settembre 2008 - 18.05

ravalon Profilo | Expert

Ho inserito alcuni controlli dentro un DataList....alcuni imagebutton e alcuni link html

Ora vorrei nell'evento ItemCommand capire quale è stato cliccato per fare una chiamata ad una funzione piuttosto che ad un'altra.

Come faccio ?

freeteo Profilo | Guru

ciao,
se non ho capito male tu usi l'evento ItemCommand pilotato da un linkbutton, quindi in quell'evento hai anche il fatto di sapere il "sender" ovvero il controllo che ti ha fatto il click:

protected void dataList_ItemCommand(object sender, DataListCommandEventArgs e) { if (e.CommandSource.GetType() == typeof(LinkButton)) { LinkButton btn = e.CommandSource as LinkButton; ....
e poi dentro li hai anche la possibilità di farti passare un ItemCommand (recuperabile tramite "e.CommandArgument") ti basta impostarlo nel LinkButton:
<asp:LinkButton ID="lnkButton" runat="server" Text="Cliccami" CommandName="Select" CommandArgument="..." />


oppure verificare il valore selezionato, ovvero quello che hai messo come "dataKey" della DataList e che quindi ti ritrovi chiedendo la proprietà "SelectedValue", con un DataList in questa forma:
<asp:DataList ID="lista" runat="server" DataKeyField="numero" OnItemCommand="lista_ItemCommand" > ...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ravalon Profilo | Expert

Grazie per la dritta.... ma sul CommandArgument che gli posso passare ?

freeteo Profilo | Guru

>Grazie per la dritta.... ma sul CommandArgument che gli posso
>passare ?
una stringa diciamo che è la cosa più standard, cmq è un object quindi diciamo che poi sta a te castarlo sul tipo che ti serve (o fare il tostring...)
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5