When you use the Server.Transfer method or use cross-page posting to transfer processing from one ASP.NET page to another Page, the originating page contains request information that might be required for the destination page. You can use the Previous Page property to access that information.
The
following example is in two parts. The first is an ASP.NET page that uses the Transfer method,
exposed in the page model as Server.Transfer("path"). The second
part is the target page, which uses the PreviousPage property to get
the title of the first page.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
// If second is an even number, the server is available
// Replace this line with a valid check for the server.
bool IsServerAvailable = (DateTime.Now.Second % 2 == 0);
if (!IsServerAvailable)
Server.Transfer("Notify.aspx",
true);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head runat="server">
<title>Switch Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>Database Server is Available</h2>
<p>This page appears if the database server
is available.</p>
<p>Enter a pretend Server Name:
<asp:TextBox ID="serverNameText"
runat="server">MyDatabaseServer</asp:TextBox>
</p>
<p><asp:Button ID="SubmitButton" runat="server"
Text="Is server available?" /></p>
</div>
</form>
</body>
</html>
|
Notify.aspx page
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
// Find the server name on the previous
page
TextBox txt =
(TextBox)Page.PreviousPage.FindControl("serverNameText");
if (txt != null)
prevServerName.Text =
Server.HtmlEncode(txt.Text);
else
prevServerName.Text = "[Name
Not available]";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head runat="server">
<title>Page A</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>Database Server is Not Available</h2>
<p>This page appears if the named database server is not
available, but the URL displays as the main target page.</p>
<p>Server Name (From Page.PreviousPage):
<asp:Label ID="prevServerName" runat="server"
/></p>
<p>Refresh the page to see if the server is now
available.</p>
</div>
</form>
</body>
</html>
|
No comments:
Post a Comment