<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="CrossPage1" %>
<!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>CrossPage1</title>
</head>
<body>
<form id="form1" runat="server" >
<div>
Type something here:
<asp:TextBox runat="server" ID="txt1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server"
ControlToValidate="txt1"
EnableClientScript="False"
ErrorMessage="This is a required field.">
</asp:RequiredFieldValidator><br />
<br />
<asp:Button runat="server"
ID="cmdPost"
PostBackUrl="NextPage.aspx"
Text="Cross-Page Postback" />
<asp:Button runat="server"
ID="cmdTransfer"
Text="Manual Transfer"
OnClick="cmdTransfer_Click" />
</div>
</form>
</body>
</html>
File: Default.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 CrossPage1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["err"] != null)
Page.Validate();
}
public TextBox TextBox1
{
get { return txt1; }
}
protected void cmdTransfer_Click(object sender, EventArgs e)
{
Server.Transfer("NextPage.aspx", true);
}
}
File: NextPage.aspx
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="NextPage.aspx.cs"
Inherits="CrossPage2" %>
<!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server" >
<div>
</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 CrossPage2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
if (!PreviousPage.IsValid)
{
Response.Redirect(Request.UrlReferrer.AbsolutePath + "?err=true");
}
else
{
Response.Write("You came from a page titled " +
PreviousPage.Header.Title + "<br /");
CrossPage1 prevPage = PreviousPage as CrossPage1;
if (prevPage != null)
{
Response.Write("You typed in this: " + prevPage.TextBox1.Text + "<br />");
}
if (PreviousPage.IsCrossPagePostBack)
{
Response.Write("The page was posted directly");
}
else
{
Response.Write("You used Server.Transfer()");
}
}
}
}
}