<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="Default_aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Cross-Page Posting</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Cross-Page Posting</h1>
Select your favorite activity:
<asp:DropDownList ID="ddlFavoriteActivity" runat="server" AutoPostBack="true">
<asp:ListItem Text="Eating" />
<asp:ListItem Text="Sleeping" />
<asp:ListItem Text="Programming" />
</asp:DropDownList>
<br />
<br />
<br />
<asp:Button ID="btnServerTransfer" runat="server"
Text="Server.Transfer"
OnClick="btnServerTransfer_Click" />
<asp:Button ID="btnRedirect" runat="server"
Text="Response.Redirect"
OnClick="btnRedirect_Click" />
<asp:Button ID="btnCrossPage" runat="server"
Text="Cross-Page Post"
PostBackUrl="NextPage.aspx" />
<br />
<br />
IsPostBack:
<asp:Label ID="lblIsPostBack" runat="server" Text="not defined" />
<br />
IsCrossPagePostBack:
<asp:Label ID="lblIsCrossPagePostBack" runat="server" Text="not defined" />
<br />
PreviousPage:
<asp:Label ID="lblPreviousPage" runat="server" Text="not defined" />
</div>
</form>
</body>
</html>
File: Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading; // necessary for ThreadAbortException
public partial class Default_aspx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lblIsPostBack.Text = IsPostBack.ToString();
lblIsCrossPagePostBack.Text = IsCrossPagePostBack.ToString();
if (Page.PreviousPage != null)
lblPreviousPage.Text = Page.PreviousPage.Title;
}
protected void btnServerTransfer_Click(object sender, EventArgs e)
{
Server.Transfer("NextPage.aspx");
}
protected void btnRedirect_Click(object sender, EventArgs e)
{
Response.Redirect("NextPage.aspx");
}
}
File: NextPage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NextPage.aspx.cs" Inherits="NextPage_aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Target Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Target Page.</h1>
Your favorite activity is
<asp:Label ID="lblActivity" runat="server" Text="unknown" />
<br />
<br />
IsPostBack:
<asp:Label ID="lblIsPostBack" runat="server" Text="not defined" />
<br />
IsCrossPagePostBack:
<asp:Label ID="lblIsCrossPagePostBack" runat="server" Text="not defined" />
<br />
PreviousPage:
<asp:Label ID="lblPreviousPage" runat="server" Text="not defined" />
<br />
Previous Page IsPostBack:
<asp:Label ID="lblPreviousPageIsPostBack" runat="server" Text="not defined" />
<br />
Previous Page IsCrossPagePostBack:
<asp:Label ID="lblPreviousPageIsCrossPagePostBack" runat="server" Text="not defined" />
</div>
</form>
</body>
</html>
File: NextPage.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class NextPage_aspx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null)
{
DropDownList ddl = (DropDownList)Page.PreviousPage.FindControl("ddlFavoriteActivity");
if (ddl != null)
lblActivity.Text = ddl.SelectedItem.ToString() + " (late-bound)";
}
lblIsPostBack.Text = IsPostBack.ToString();
lblIsCrossPagePostBack.Text = IsCrossPagePostBack.ToString();
if (Page.PreviousPage != null)
{
lblPreviousPage.Text = Page.PreviousPage.Title;
lblPreviousPageIsPostBack.Text = Page.PreviousPage.IsPostBack.ToString();
lblPreviousPageIsCrossPagePostBack.Text = Page.PreviousPage.IsCrossPagePostBack.ToString();
}
}
}
|