203 messaggi dal 21 maggio 2004
Ciao a tutti, ho il seguente problema.
Ho creato uno user control molto semplice:

<asp:ImageButton ID="img_ricerca" runat="server"/>
<asp:TextBox ID="txt_dato" runat="server"/>

l'ho caricato nella pagina aspx tramite
Dim UC As UserControl = LoadControl("Ricerca.ascx")
pnl_ricerca.Controls.Add(UC) e messo il tutto dentro if page.is postback dell'aspx.

Quando clicco su img_ricerca perdo il valore di txt_dato, normale perchè se faccio il postback perdo i dati. Come faccio a risolvere il problema?
Ho letto di creare una proprietà pubblica dentro ascx, l'ho fatto..e poi?come la richiamo dall'aspx?

Public ReadOnly Property dato() As String
Get
Return txt_dato.Text
End Get
Property

Accetto ogni suggerimento
Grazie
Ciao
Stefano
547 messaggi dal 24 maggio 2002
Contributi
secondo me devi fare

UC.dato()


Marco.
strano, non dovresti perdere il testo visualizzato dentro la TextBox primo perche non è mantenuto nel ViewState, seconso perche il ViewState se fosse usato servirebbe per ripristinare il contenuto dei controlli proprio tra i PostBack.

per caso inserisci il l'UserControl a seguito di un evento?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
3.939 messaggi dal 28 gennaio 2003
non devi fare come hai detto " messo il tutto dentro if page.is postback "

il controllo lo deve SEMPRE ricreare.
203 messaggi dal 21 maggio 2004
intanto grazie...

all'interno dello UserControl c'è un bottone.
Quando lo schiaccio vorrei prendere i valori delle text che sn sempre dentro lo user control. Magari sbaglio il flusso...vi posto un po' di codice

aspx-----
Dim UC As UserControl = LoadControl("Ricerca.ascx")
pnl_ricerca.Controls.Add(UC)

If Page.IsPostBack Then
Dim testo As TextBox = UC.FindControl("txt_auto")
End If

ascx-----
<asp:ImageButton ID="img_ricerca" runat="server"/>
<asp:TextBox ID="txt_dato" runat="server"/>

Quindi se clicco img_ricerca mi fa il postback, mi ricrea UC ma poi non riesco a prendere i valori Dim testo As TextBox = UC.FindControl("txt_auto")

Sbaglio qlc sicuramente..
203 messaggi dal 21 maggio 2004
ho risolto il problema spostando il bottone sul aspx e poi cerco i controlli con findcontrol.
Non mi piace molto però
3.939 messaggi dal 28 gennaio 2003
slimshady82 ha scritto:
ho risolto il problema spostando il bottone sul aspx e poi cerco i controlli con findcontrol.
Non mi piace molto però


 Ti conviene vederti la parte "eventi" relativa alle classi. Un pulsante interno all'usercontrol dovrebbe lanciare un evento, che sarà gestito dal cliente dell'UserControl.

Non so se ci sia qualche articolo nel forum.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.