Operazioni su linkbutton

domenica 20 marzo 2016 - 19.44

Geronimo79 Profilo | Junior Member

Salve amici, ho un "linkbutton1" posto in un div di una pagina aspx che al suo evento Page_load mi esegue il seguente codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Mi crea tanti link button quante sono le immagini che vado a predere dalla cartella "Images" del progetto.
Se ad esempio clicco su un determinato linkbutton vorrei che mi venga inserito il relativo imageurl in una textbox.
Come potrei fare??
Grazie a tutti.
Un saluto.

ysdemarc Profilo | Expert

potresti utilizzare il CommandArgument del LinkButton dove pui mettere l'url dell'immagine che andrai a controllare durante il postback

altrimenti puoi passare i tui argomenti ad una funziona javascript scrivendo nel linkButton la proprietà OnClientClick (se non usi runat=server)

ad esempio OnClientClick="form1.elements["miaTextBox"].value=\"/images/pincopallino.png\""

naturalmente le proprietà vanno valorizzate n fase di "costruzione"
Vincenzo
Programmatore sbilenco

Geronimo79 Profilo | Junior Member

Ok grazie...proverò e ti farò sapere...
Un saluto.

Geronimo79 Profilo | Junior Member

No il problema di fondo è questo:
dovrei fare un " TextBox1.Text = img.ImageUrl", però se imposto il codice in questo modo all'avvio il textbox mi restituisce si l'imageurl ma al click poi non cambia:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Inserendo la variabile "img" fuori dal "for each" mi restituisce errore perchè non la riconosce più....se infine la dichiaro all'inizio proprio, all'avvio mi carica solo un'immagine....
Come potrei risolvere??

ysdemarc Profilo | Expert

Non riesco a seguirti.

Se tu scrivi un ciclo dove a textBox1 dai l'url dell'immagine ad ogni elemento alla fine avrei valorizzato textbox1.text con l'ultimo path dell'immagine letta.. e basta.

ti avevo consigliato di inserire un evento click

togli quel textbox1.text = img.imageurl

ed inserisci nel ciclo, negli attubutes dell0image questo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

scrivo in c#, eventualmente la conversione in vb te la fai tu.

ma devi stare attendo però, perchè anche se stiamo utilizzando javascript, ad ogni click invii la richiesta al server e ricarichi sempre la pagina.

Quindi se non ti servono richieste al serve devi togliere il runat="server"..

e comunque è buona norma nel page load usare IsPostback, per verificare se è la prima volta che carichi la pagina o si tratta di un postback ed evitare di ricaricare sempre le immagini



Vincenzo
Programmatore sbilenco

Geronimo79 Profilo | Junior Member

Perfetto!!! Funziona alla grande!!!
Grazie di tutto.
Un saluto.
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