Nello script #674 abbiamo visto come sfruttuare una delle novità di ASP.NET 2.0 nota con il nome di Cross Page PostBack, che consente di effettuare PostBack su altre pagine e poter recuperare, su queste ultime, lo stato dei controlli della pagina chiamante.
Questo scenario è comodo quando si ha a che fare con motori di ricerca o form di login, ma nel caso in cui si debba lavorare con Master Pages, l'accesso ai controlli deve essere fatto tenendo a mente che i controlli saranno contenuti all'interno di un ContentPlaceHolder, che rappresenterà il Container. Dunque è necessario arrivare prima di tutto al ContentPlaceHolder e poi recuperare successivamente il controllo, alla solita maniera:
void Page_Load()
{
if (Page.PreviousPage != null)
{
// se siamo in una master page, funziona così - l'ID del ContentPlaceHolder è body
ContentPlaceHolder pc = (ContentPlaceHolder)PreviousPage.Master.FindControl("body");
text.Text = ((TextBox)pc.FindControl("text")).Text;
category.Text = ((DropDownList)pc.FindControl("category")).SelectedValue;
}
}Per approfondimenti si veda:
#674 - Effettuare il postback su un'altra pagina con ASP.NET 2.0
http://www.aspitalia.com/script/674/EffettuarePostbackPaginaASP.NET2.0.aspx
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.









Stampa
Snippet
Download 



Ciao Daniele,ottimo tip. Un consiglio, espliciterei che si deve considerare, del ContentPlaceHolder, l'attributo ContentPlaceHolderId e non l'...
Continua »»» | Rispondi »»»