>Ciao,
Ciao!
>sono nuovo del mondo Asp.net e mi occorrerebbe una mano per risolvere
>un problema.
>Ho una gridview, nella quale è inserito un HyperLinkField. Con
>il metodo SelectIndexChanged, una volta che l'utente ha selezionato
>una riga della Gridview ho bisogno di conoscere i valori contenuti
>in alcune celle della riga.
>Premesso che uso Vb.net
>Ho dichiarato:
>Dim row As GridViewRow = GridView1.SelectedRow
>Dim nomeprogetto As String
>e ottengo il valore contenuto nella cella così:
>nomeprogetto = row.Cells(1).Text
>Questo funziona correttamente per le celle normali, non funziona
>per quella con HyperLinkField, ottengo infatti un valore vuoto.
>Potreste suggerirmi come superare questo problema?
Il problema sta nel fatto che le celle che tu definisci "normali", ovvero le celle che contengono solo testo, hanno al loro interno solamente sequenze di caratteri. Perciò la proprietà text di questa tipologia di celle è effettivamente valorizzata a ciò che ti serve. Per quanto riguarda le colonne HyperLinkField, il discorso è un attimino diverso. Poichè queste contengono un HyperLink, che è un CONTROLLO asp.net, hanno la proprietà Text vuota, ma hanno la collection Controls popolata proprio dal HyperLink utilizzato per creare l'effetto link. Perciò, per ottenere l'informazione "testo del link", bisogna accedere al campo tramite la collezione in questo modo:
nomeprogetto = DirectCast(row.Cells(2).Controls(0), HyperLink).Text
Con la DirectCast converto l'oggetto ricavato dalla collezione dei controlli della cella in un HyperLink e poi ne ricavo il testo. Puoi ottenere il contenuto di ogni proprietà pubblica dell'oggetto HyperLink.
>
>Vi ringrazio anticipatamente
Di nulla!
Ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino