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; } }
Approfondimenti
#674 - Effettuare il postback su un'altra pagina con ASP.NET 2.0
https://www.aspitalia.com/script/674/EffettuarePostbackPaginaASP.NET2.0.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.