Cosa devo fare per aprire una nuova pagina alla pressione di un pulsante?

Utente HTML.it
chiede

Cosa devo fare per aprire una nuova pagina alla pressione di un pulsante?

Redazione HTML.it
risponde

Per impostazione predefinita, i pulsanti contenuti in una Web form ASP.NET causano il postback della pagina. Se si vuole, invece, aprire una pagina diversa quando si preme un bottone, si deve impostare la proprietà PostBackUrl del pulsante sull’indirizzo della pagina da caricare:

<asp:Button ID="Button1" runat="server"
     PostBackUrl="~/WebForm1.aspx" Text="Button" />

Questo accorgimento funziona sia con il controllo Button sia con il LinkButton: utilizzando la proprietà PostBackUrl, il click sull’oggetto determinerà l’invio della form verso la pagina specificata.

Per recuperare quanto è stato inserito nei controlli della pagina da cui si proviene, è possibile utilizzare la proprietà Page.PreviousPage, che, come il nome lascia intuire, fornisce un riferimento alla pagina precedente. Supponiamo di avere una pagina A, che contiene una TextBox di nome txtCasella e un pulsante la cui proprietà PostBackUrl è impostata sulla pagina B. Per recuperare da quest’ultima il contenuto della casella di testo, si deve utilizzare questo stralcio di codice:

protected void Page_Load(object sender, EventArgs e)
{
  TextBox txt = (TextBox)PreviousPage.FindControl("txtCasella");
  Response.Write(txt.Text);
}