Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Linkbutton e click da codice
giovedì 11 agosto 2005 - 09.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
PEPE
Profilo
| Senior Member
296
messaggi | Data Invio:
gio 11 ago 2005 - 09:46
Salve,
da code behind ho creato un webcontrol di tipo linkbutton in questo modo:
dim lnk1 as new linkbutton
Ho assegnato le proprieta al controllo:
lnk1.id="mioLink"
lnk1.Visible= True
ecc...
Ovviamente non c'e' l'opzione lnk1.Onclick. Quello che dovrei fare e' riuscire a create il linkbutton tramite code behind che con un click mi lancia una funzione. Insomma quello che tipicamente si fa se il controllo lo si crea nella pagina aspx.
Tra le proprietà del controllo ci sono due proprietà, commandname e commandargument che penso servano a fare questo lavoro.
Allora ho provato a mettere nel codebehind della pagina una funzione:
Protected sub lnk_Click(sender as object, e as eventargs)
end sub
Ho impostato il lnk1.CommandName= lnk_Click credendo che il controllo in fase di rendering riuscisse a capire che funzione richiamare. Purtroppo la mia prova non ha avuto buon successo :D:D.
Qualcuno sa darmi una mano?
Grazie 1000,
Luca.
LudovicoVan
Profilo
| Junior Member
106
messaggi | Data Invio:
gio 11 ago 2005 - 17:23
L'utilizzo dei controlli dinamici non è proprio elementare. Puoi mostrare tutte le porzioni di code-behind coinvolte nella gestione del LinkButton, così vediamo dove può stare l'inghippo? -LV
(Peace X Love] = [1)
PEPE
Profilo
| Senior Member
296
messaggi | Data Invio:
gio 11 ago 2005 - 20:17
fin ora non ho porzioni di codice. Essenzialmente sto cercando di fare un po di esperimenti che mi portrebbero essere utili anche per imparare come .net gestisce le cose.
Quello che generalmente faccio in una pagina aspx e' questo:
<asp:linkButton id="lnk1" runat=server onclick="lnk1_Click">CLICCA</asp:linkButton>
<br>
<asp:label id=lblMessage runat=server></asp:label>
nel code behind faccio questo:
Protected sub lnk1_Clcik(byval s as object, byval e as eventargs)
lblmessage.text="CIAO!! PROVA OK"
End sub
Ora quello che volevo tentare di fare e' inserire un controllo linkbutton in una pagina e cercare di fargli eseguire del codice quando clicco.
Esempio codebehind
page_load...
dim lnk as new linkbutton
lnk.text= "CLICCA"
lnk.id="lnk1"
lnk.Visible=true
lnk.CommandName= "lnk1_Click"
form.controls.add(lnk) -non so manco se si puo' fare ma e' tanto per far capire il concetto-
Protected sub lnk1_Clcik(byval s as object, byval e as eventargs)
lblmessage.text="CIAO!! PROVA OK"
End sub
Ho provato ad eseguire, ma quando clicco non accade nulla. Io speravo che impostando il commandname sul nome del metodo da eseguire, .net capisse tutto e facesse tutto lui :D:D. Purtoppo non e' cosi' oppure bisogna fare dei passaggi in più.
Su internet e su msdn non ho trovato molte informazioni circa questa problematica cosi' non mi resta altro da fare che sperare che qualcuno sia gia' riuscito ad ottenere questo risultato o che sappia come fare :).
Ciao,
Luca.
LudovicoVan
Profilo
| Junior Member
106
messaggi | Data Invio:
gio 11 ago 2005 - 21:09
>page_load...
>dim lnk as new linkbutton
>lnk.text= "CLICCA"
>lnk.id="lnk1"
>lnk.Visible=true
>lnk.CommandName= "lnk1_Click"
>form.controls.add(lnk)
I controlli dinamici vanno aggiunti all'albero dei Controls all'Init della pagina.
Metti tutto in un evento OnInit, così (è page.controls.add(...)):
--------------------------------------------------------
Protected Overrides Sub OnInit(ByVal e As EventArgs)
MyBase.OnInit(e)
dim lnk as new linkbutton
lnk.text= "CLICCA"
lnk.id="lnk1"
lnk.Visible=true
lnk.CommandName= "lnk1_Click"
page.controls.add(lnk)
End Sub
--------------------------------------------------------
Questo già ti dovrebbe risolvere parte dei problemi.
HTH. -LV
(Peace X Love] = [1)
PEPE
Profilo
| Senior Member
296
messaggi | Data Invio:
sab 20 ago 2005 - 12:25
ciao, ho provato a seguire il tuo esempio ma al caricamento della pagina ottengo questo messaggio
Il controllo 'lnk1' di tipo 'LinkButton' deve essere inserito in un tag Form con runat=server.
Il codice e' questo
Protected Overrides Sub OnInit(ByVal e As EventArgs)
MyBase.OnInit(e)
Dim lnk As New LinkButton
lnk.Text = "CLICCA"
lnk.ID = "lnk1"
lnk.Visible = True
lnk.CommandName = "lnk1_Click"
Page.Controls.Add(lnk)
End Sub
Non ho creato il metodo sub lnk1_Click per vedere se il framework mi dava il tipico errore quando ti scordi di scrivere la procedura di un click di un controllo.
Ho ottenuto pero' un errore diverso :D.
Torna su
Stanze Forum
Elenco Threads
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 !