124 messaggi dal 28 giugno 2001
Ciao sto provando ad inserire in un itemtemplate di un datalist un imagebutton.
Adesso il problema è che cliccando non succede praticaemtne niente se non il refresh della pagina e non capisco.
Ho provato con un linkbutton e funziona correttamente.,

Qualcuno mi sa dire il perchè?

Filippo
www.miecube.com
Devi impostare sul controllo ImageButton l'attributo CommandName e gestire l'evento della DataList ItemCommand. In base al CommandName, puoi eseguire il codice corrispondente all'interno del gestore di evento.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
124 messaggi dal 28 giugno 2001
Fatto ma non serve ad una mazza, non entra nella subroutine associata all'evento e non so come fare, ho letto in giro robe del tipo che bisogna associare non all'evento itemcommand ma al indexchanged boooooo

Filippo
www.miecube.com
No, è fuori discussione, è ItemCommand.

Ovviamente sull'inizializzazione della pagina (metodo InizializeComponent), devi aggiungere alla catena degli event handler di pagina il metodo che intendi utilizzare come gestore dell'evento ItemCommand della DataList. Altrimenti al postback non succede nulla, perchè il metodo non è associato all'evento.

Ciao, Ricky.
Modificato da rickyvr il 26 novembre 2004 13.21 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
124 messaggi dal 28 giugno 2001
Scusa Riccarco se rompo, posso chiederti cortesemente come è la sintassi

Io ho un datalist (DLSearch) e ho la subroutine

Private Sub DLSearch_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DLSearch.ItemCommand
variabile = Me.DLSearch.DataKeys(e.Item.ItemIndex)
End Sub

Cosa dovrei mettere qui?

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form.
'Non modificarla nell'editor del codice.
InitializeComponent()
End Sub

Filippo
www.miecube.com
124 messaggi dal 28 giugno 2001
Allora ecco cosa ho fatto:

Ho aggiunto
AddHandler DLSearch.ItemCommand, AddressOf DLSearch_ItemCommand

Nel page_load: niente
Nel InitializeComponent: niente
Nel Page_Init: niente

Ho guardato tutta la documentazione Microsoft e dice semplicemente di posizione nel pageload addhandler inoltre lato html ho provato a specificare:

OnItemCommand = "DLSearch_ItemCommand"
E comunque sia non entra mai nella subroutine e quando dico mai è proprio mai :D

Dove sto sbagliando?

Filippo
www.miecube.com
Ah, tu usi VB.NET! OK...

Allora come non detto, vedo che l'associazione tra handler ed evento c'è già (keyword Handles):

Private Sub DLSearch_ItemCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataListCommandEventArgs) Handles DLSearch.ItemCommand

If (e.CommandName = "NomeComando") Then
' ESEGUI IL CODICE ASSOCIATO AL COMANDO
End If

End Sub


Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it

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.