Findcontrol in detailsview itemtemplate

lunedì 09 luglio 2012 - 16.06
Tag Elenco Tags  VB.NET  |  .NET 3.5

zseven Profilo | Senior Member

Ciao ragazzi,
scusatemi ma sto perdendo tantissimo tempo e non riesco a trovare una soluzione.
Ho un codice molto semplice che mi va a cercare all'evento databound del details una label presente nell'itemtemplate.

Protected Sub DtvScadenza_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DtvScadenza.DataBound
If DtvScadenza.CurrentMode = DetailsViewMode.ReadOnly Then
Dim BlnUtente As Boolean
BlnUtente = DirectCast(DtvScadenza.FindControl("LblUtente"), Label).Text
End If
If DtvScadenza.CurrentMode = DetailsViewMode.Edit Then
.....
End Sub

Come vedete ho sia un controllo per la modalità readonly che edit. Per l'edit tutto ok, ma adesso che sto provando a verificare il readonly mi dà errore già in partenza, cioè quando carico la prima e prima ancora di cliccare sul pulsante select della grid associata che mi deve mostrare poi il details.
In pratica è come se lui volesse caricare i dettagli del details prima ancora che questi venga collegato alla riga da cliccare sulla griglia.

Forse c'è qualcosa che mi sfugge... sapreste aiutarmi?
Grazie mille

alexmed Profilo | Guru

Ciao
Credo sia dovuto al fatto che all''avvio della pagina il DataBound viene eseguito anche se non ti restituisce nulla (in quanto non gli passi il parametro dalla Grid) quindi va a cercare il controllo e non trovandolo ti dà errore.
Prova ad inserire un ulteriore If:


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

Ciao

alexmed

zseven Profilo | Senior Member

e infatti in attesa di avere risposta avevo provato con un semplice if page.ispostback e comunque aveva funzionato, ma la tua soluzione mi sembra molto più corretta.

Grazie mille ;)
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5