Home Page Home Page Tips & Tricks Cos'è il Crosspage Postback di ASP.NET 2.0

Cos'è il Crosspage Postback di ASP.NET 2.0


In un precedente Tip abbiamo visto come passare i valori tra le pagine Web attraverso il metodo Server.Transfer. Solitamente però in ASP.NET 1.1 quando lanciavamo un Postback premendo sul classico Button non avevamo modo di modificare la pagina che riceveva il Postback perchè era la stessa che conteneva il Button. E' proprio questo uno dei grossi limiti di cui si lamentano molti programmatori.
In ASP.NET 2.0 così è stato introdotto un nuovo metodo chiamato Cross Page PostBack.
Questo metodo ci dà la possibilità di eseguire il Postback in un'altra pagina rispetto a quella dove siamo, e per fare questo basta impostare la nuova proprietà PostBackUrl del bottone.

%lt;asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/home.aspx" />

La pagina chiamata avrà la proprietà IsCrossPagePostBack settata a True.

Il CrossPage Post Back risulta molto utile per esempio nei form di registrazione di un'utente. In questo caso infatti una volta riempiti tutti i campi l'utente può essere rediretto direttamente alla home page o ad una pagina che elabori i dati inseriti.

Sia che venga utilizzato Server.Transfer che il CrossPage PostBack per individuare la pagina chiamante, abbiamo una nuova proprietà della classe Page chiamata PreviousPage.

Quindi per esempio se vogliamo accedere ad un controllo della pagina chiamante esempio una label ci basta fare:

C#
Codice .NET n°1
Label1.Text = ((Label)PreviousPage.FindControl("lblTitolo")).Text;


VB.NET
Codice .NET n°2
Label1.Text =(Ctype(PreviousPage.FindControl("lblTitolo"),Label))

Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5