#758 - Sfruttare il Cross Page PostBack con le Master Pages

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


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

knodev scrive:
#758 - Sfruttare il Cross Page PostBack con le Master Pages

Ciao Daniele,ottimo tip. Un consiglio, espliciterei che si deve considerare, del ContentPlaceHolder, l'attributo ContentPlaceHolderId e non l'...
giovedì 2 febbraio 2006 | 8 risposte

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC