Si può chiamare un controllo contenuto in uno UserControl dal codice della pagina che chiama lo UserControl?
Si può chiamare un controllo contenuto in uno UserControl dal codice della pagina che chiama lo UserControl?
IL MONDO È BELLO PERCHÉ È VARIO.
Hai provato con :
IDUserControl.IDControlloCheCerchi.Proprietà
?
Hey hey, my my Rock and roll can never die!
mettiamo che hai uno user contro che si chiama login.ascx e lo carichi conOriginariamente inviato da M@nu
Si può chiamare un controllo contenuto in uno UserControl dal codice della pagina che chiama lo UserControl?
per fare poi riferimento ad esempio ad una dropdownlist (es. ddlTipo) contenuto in mioLogincodice:dim mioLogin as control = Me.LoadControl("login.ascx")
codice:Dim m_tipo As String = CType(mioLogin.FindControl("ddlTipo"), DropDownList).SelectedValue
Saluti a tutti
Riccardo
Innanzi tutto grazie, ho trovato anche facendo
Dichiaro:
Assegno:codice:Protected WithEvents uc_ddl_lingue_modnews As System.Web.UI.UserControl
Prendo il valore:codice:ddl_lingue_uc = uc_ddl_lingue_modnews.FindControl("ddl_lingue")
ma non riesco a fare il contrario.codice:ddl_lingue_uc.SelectedValue
per esempio, nel mio caso, si tratta di una ddl con le lingue, che uso in varie parti tra cui la registrazione di un utente.
A mettere lo uc con la ddl e a prenderne il valore quando salvo abbiamo già visto.... ma quando vado in modifica, e devo visualizzare i dati salvati, non riesco ad assegnare il valore!
ho provato con
con ad esempio: DR("LANG") = "IT"codice:ddl_lingue_uc.SelectedValue = DR("LANG")
ma me la lascia a vuoto:
ddl_lingue_uc.SelectedValue="")
Cosa sbaglio?![]()
grazie, ciao Manu
IL MONDO È BELLO PERCHÉ È VARIO.
Se non ho capito male, dopo aver modificato i dati vorresti che nella dropdownlist ti appaia il nuovo valore?Originariamente inviato da M@nu
.... ma quando vado in modifica, e devo visualizzare i dati salvati, non riesco ad assegnare il valore!
Saluti a tutti
Riccardo
Sì.
Praticamente se uno si registra può cambiare i suoi dati.
quando entra nella modifica gli vengono visualizzati i dati con cui si è registrato, e della ddl della lingua dovrebbe venire selezionata quella con cui si è registrato.
IL MONDO È BELLO PERCHÉ È VARIO.
allora come immagino avrai capito non e' conOriginariamente inviato da M@nu
Sì.
che otterrai il risultato voluto.ddl_lingue_uc.SelectedValue = DR("LANG")
Concettualmente devi fare una ricerca nella collection di item contenuti nella dropdown per poi, una volta trovato quello che vuoi tu, impostare la sua poprieta' selected = true
es.
codice:DropDownList1.Items.FindByValue("IT").Selected = True
Saluti a tutti
Riccardo
ho capito...
allora ho fatto ddl_lingue_uc.Items.FindByValue(DR("LANG")).Select ed = True ma da errore Riferimento a un oggetto non impostato su un'istanza di oggetto.
Facendo il debug, se vado in "controllo immediato" di ddl_lingue_uc trova gli item (ti metto il print della schermata in allegato).
IL MONDO È BELLO PERCHÉ È VARIO.
non e' che DR("LANG") e' = a nothing? con DR... stiamo parlando di un datareader? In ogni caso, posta un po' di codice prima e un po' di codice dopo la riga in questione.Originariamente inviato da M@nu
Riferimento a un oggetto non impostato su un'istanza di oggetto
Saluti a tutti
Riccardo
sì.... è un datareader... perchè?
cmq non è a nothing (è o "IT", o "EN" ecc....)
codice:Dim ddl_lingue_uc As DropDownList Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ddl_lingue_uc = uc_ddl_lingue_modnews.FindControl("ddl_lingue") If Not Page.IsPostBack Then modifica() End Ifcodice:Public Sub modifica() ........... Do While DR.Read If Not IsDBNull(DR("data")) Then Me.txt_data.Text = DR("data") End If If Not IsDBNull(DR("titolo")) Then Me.txt_titolo.Text = DR("titolo") End If If Not IsDBNull(DR("descrizione")) Then Me.txt_descrizione.Text = DR("descrizione") End If If Not IsDBNull(DR("LANG")) Then 'ddl_lingue_uc.SelectedValue = DR("LANG") ddl_lingue_uc.Items.FindByValue(DR("LANG")).Selected = True End If Loop ....................... End Sub
IL MONDO È BELLO PERCHÉ È VARIO.