T

mercoledì 13 giugno 2007 - 09.02

_J_ Profilo | Senior Member

buongiorno a tutti!

qualcuno mi potrebbe spiegare come si fa ad inoltrare le informazioni contenute nei controlli di una pagina su un'altra pagina?
uso il postbackurl nella pagina di origine, e la direttiva <%@ previouspagetype........%> e il metodo findcontrol per quella di destinazione (qui non ho rispettato le maiuscole per motivi di fretta, ma nel codice sono rispettati), ma non riesco a trasferire delle informazioni dalla prima pagina alla seconda...
sto infatti provando con una textbox e un pulsante sulla pagina1, e con una label sulla pagina2.
quello che vorrei è che la label cambiasse in base al testo digitato nella precedente pagina, ma tutto ciò che mi dice è:
Riferimento a un oggetto non impostato su un'istanza di oggetto.
quindi deduco che il controllo sulla pagina precedente non me lo vede...
come posso fare?
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

martinez Profilo | Senior Member

Ciao,

Se hai provveduto ad impostare correttamente le proprietà di PostaBackUrl nel pulsante che effettua il CrossPage e hai seguito le giuste regole sulle PreviousPage... Rintracciare la proprietà Text di una TextBox si riduce semplicemente a:

TextBox txt = (TextBox) PreviousPage.FindControl("IDTuaTextBox");

TuaLabel.Text = txt.Text

Spero sia utile
Antonio

_J_ Profilo | Senior Member

ciao!
innanzitutto, se ti chiami Antonio (quello in basso era il tuo nome, vero?) ti volevo augurare un buon onomastico!

e poi, grazie per aver risposto!

cmq non ha funzionato lo stesso... la risposta che mi ha datoè sempre la stessa... cmq ti allego un file con il codice delle due pagine

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

martinez Profilo | Senior Member

Ciao ancora e grazie degli auguri

ma tu sei distratto

perchè:

questo lo scrivi tu:

TextBox T= (TextBox)PreviousPage.FindControl("TextBox1.Text");
Label1.Text = T.Text;

Questo lo scrivo io:

TextBox T = (TextBox) PreviousPae.FindControl("TextBox1");

Label1.Text = T.Text

a presto!!!

Antonio

_J_ Profilo | Senior Member

mi dispiace ma non funziona neppure ora

non è che per caso devo importare un namespace specifico....

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

martinez Profilo | Senior Member

bene ...
visto che oggi mi hai fatto gli auguri questo è un regalo funzionante per te

munble munble ... ma si ricevono o si fanno i regali....

Antonio

_J_ Profilo | Senior Member



i regali si fanno



comunque il tuo esempio funziona, e vedo che hai cambiato un po' di codice...
ad esempio io non avevo inizializzato nulla del default.aspx.cs ed hai tolto la direttiva previouspagetype, inoltre hai settato Text="post" nella textbox...
adesso proverò con altri controlli... intanto grazie!


_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

martinez Profilo | Senior Member

OK!!!
Non so cosa ci sia di diverso dal tuo esempio di prima ...

ma cmq... l'importante e che funga e posso garantire che funziona su tutti quei controlli in grado di fare postback ...

Per abitudine personale inizializzo sempre i controlli. Con la mia piccola esperienza ho notato che alcuni errori del compilatore spariscono semplicemente inizializzando il controllo, infatti se provi a togliere l'inzializzazione della textbox ... (this.TextBox1.Text = string.Empty;) probabilmente l'esempio non funziona più ...

Non chiedermi perchè ... NonLoSo

Ciao

_J_ Profilo | Senior Member

in effetti senza inizializzare il controllo non mi va più nulla...

e c'è un'altra cosa:
se inizializzo come hai fatto tu con string.empty, nella default2 non leggo nulla, invece se creo una stringa che contiene il testo della txtbox allora sì che la default2 mi mostra ciò che ho scritto...

ma l'importante è aver risolto... ti ringrazio ancora tanto , e inizializzerò sempre anche io i controlli....

ti saluto!

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5