ho una dropdownlist in un usercontrol.
in una pagina (paginachiamante) in cui chiamo questo uc devo assegnare il selectedvalue alla ddl dello uc.
ma succede una cosa che non capisco.
quando carica la paginachiamante carica la ddl dello uc senza che io chiami la funzione che carica il ddl, e fin qui tutto liscio.
successivamente, nella load della paginachiamante chiamo una funzione che estrae dei dati da un db e riepie dei campi, tra cui VORREI che selezionasse il valore della ddl dello uc.
e faccio una cosa di questo genere
facendo il debug, entra correttamente nello us e nella funzione che carica la ddl ma dove c'è riferimento al nome del controllo da errore "riferimento ad un oggetto non impostato su un'istanza d'oggetto."codice:Dim m_Funzioni As New uc_ddl_lingue m_Funzioni.ShowDdlLingue("EN")
Perchè??!!!![]()
il controllo ddl dello usercontrol è già caricato, perchè non lo trova?
Codice uc:
praticamente la seconda volta che ci passa da errore dove è scritto rosso.codice:Imports System.Data.SqlClient Public Class uc_ddl_lingue Inherits System.Web.UI.UserControl #Region " Codice generato da Progettazione Web Form " 'Chiamata richiesta da Progettazione Web Form. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents ddl_lingue As System.Web.UI.WebControls.DropDownList Protected WithEvents lbl_conferma_uc_ddl_lingue As System.Web.UI.WebControls.Label 'NOTA: la seguente dichiarazione è richiesta da Progettazione Web Form. 'Non spostarla o rimuoverla. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form. 'Non modificarla nell'editor del codice. InitializeComponent() ShowDdlLingue("") End Sub #End Region Public Sub ShowDdlLingue(ByVal LangSel As String) Dim j As Int16 Dim SqlLang As String = "select uid, langName from SS_LINGUE;" Dim DR As SqlDataReader 'apro connessione Dim objDB As New DBAccess.ADOObject Dim Conn As SqlConnection = objDB.ApriConn '---------------- MyCommandSQL = New SqlCommand(SqlLang, Conn) Try Me.ddl_lingue .Items.Add("<seleziona>") Me.ddl_lingue.Items.Item(j).Value = "" DR = MyCommandSQL.ExecuteReader If DR.HasRows Then j = 1 Do While DR.Read Me.ddl_lingue.Items.Add(DR("langName")) Me.ddl_lingue.Items.Item(j).Value = DR("uid") Me.ddl_lingue.Visible = True j += 1 Loop End If Catch ex As Exception Me.lbl_conferma_uc_ddl_lingue.Text = " Si è verificato un errore! Se l'errore persiste contattare il webmaster</p> CaricaLingue() " & Err.Description & "</p>" End Try objDB.ChiudiConn(Conn) 'chiudo connessione ddl_lingue.SelectedValue = LangSel End Sub End Class
io non capisco......

Rispondi quotando