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 2.0 / 3.5 / 4.0
DropDownList non istanziato su page load
lunedì 04 settembre 2006 - 10.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
FLenzo
Profilo
| Newbie
5
messaggi | Data Invio:
lun 4 set 2006 - 10:25
Salve
Ho da poco cominciato a migrare ad asp.net 2.0 e non riesco a capire il funzionamento di DropDownList associati a SqlDataSource.
In pratica Ho configurato una DDL (DropDownList) con una semplice select per eseguire il binding da un sqldatasouce, ma sull evento page load la ddl non viene istanziata (ha valore Nothing). in asp.net 1.1 utilizzavo un datatable per effettuare il binding e tutto funzionava ma con questo nuovo oggetto non riesco ad ottenere l'istanza del controllo sul page load. L'errore generato è "Object reference not set to an instance of an object."
Grazie a chi mi vorrà aiutare.
FLenzo
Profilo
| Newbie
5
messaggi | Data Invio:
lun 4 set 2006 - 14:14
Non proprio.
A design time popolo la DDL ma mi serve cambiare l'elemento selezionato a run time durante il page load.
ecco il codice run time
Private Sub Popola(ByVal indice As Integer)
T_Dipendenti = Page.Session.Item("ElDip")
With T_Dipendenti
ddSettore.SelectedItem.Text = .Rows(indice).Item("Settore")
End With
End Sub
Protected Sub cmdNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdNext.Click
Indice = Page.Session.Item("Indip")
Indice += 1
Page.Session.Add("Indip", Indice)
Popola(Indice)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Indice = 0
Popola(Indice)
End If
End Sub
Ovviamente ho trascritto una sintesi, manca la parte di popolamento della tabella ma ti posso assicurare che funziona tutto.
Non funziona invece la parte cmdNext_Click mi genera lo stesso errore, come se la DDL ddSettore non fosse istanziata.
Ho provato anche su una nuova pagina a creare una DDL associata a design time con un dataset. se cerco di accedere alle proprietà della DDL durante il page load si verifica lo stesso errore. Evidentemente gli il binding degli oggetti viene fatto dopo il page load e quindi l'oggetto viene istanziato successivamente.
Una soluzione potrebbe essere tornare all'antico e utilizzare delle tabelle e fare il binding "a mano" ma non avrebbe senso non utilizzare i nuovi oggetti messi a disposizione.
FLenzo
Profilo
| Newbie
5
messaggi | Data Invio:
lun 4 set 2006 - 15:56
Chiedo scusa. In effetti mi sono accorto che la DDL viene istanziata sul page load (basta fare un print nella finestra Controllo Immediato e mi ritorna l'oggetto corretamente istanziato) ma non risulta popolata quindi la proprietà Selecteditem.text genera una eccezione.
Ho provato a spostare i controlli sull'evento databound ma come faccio a sapere che la DDL è stata completamente popolata e quindi l'evento databound riguarda l'ultimo item?
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 !