Page.PreviousPage 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取向当前页传输控件的页。
public:
property System::Web::UI::Page ^ PreviousPage { System::Web::UI::Page ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.Page PreviousPage { get; }
[<System.ComponentModel.Browsable(false)>]
member this.PreviousPage : System.Web.UI.Page
Public ReadOnly Property PreviousPage As Page
属性值
表示向当前页传输控件的页的 Page。
- 属性
例外
不允许当前用户访问上一页。
- 或 -
ASP.NET 路由正在使用,并且前一页的 URL 是路由的 URL。 当 ASP.NET 检查访问权限时,它假定该 URL 是一个文件的实际路径。 因为这与使用路由的 URL 时情况不同,该检查将失败。
示例
以下示例分为两部分。 第一个是使用 Transfer 方法的 ASP.NET 页,在页面模型中公开为 Server.Transfer("path")
。 第二部分是目标页,它使用 PreviousPage 属性获取第一页的标题。
<%@ 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>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
Dim IsServerAvailable As Boolean
' If second is an even number, the server is available
' Replace this line with a valid check for the server.
IsServerAvailable = (DateTime.Now.Second Mod 2 = 0)
If Not IsServerAvailable Then
Server.Transfer("Notify.aspx", True)
End If
End Sub
</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>
<%@ 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>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
Dim txt As TextBox
' Find the server name on the previous page
txt = CType(Page.PreviousPage.FindControl _
("serverNameText"), TextBox)
If Not IsNothing(txt) Then
prevServerName.Text = Server.HtmlEncode(txt.Text)
Else
prevServerName.Text = "[Name Not available]"
End If
End Sub
</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>
注解
使用 Transfer 方法或使用跨页发布将处理从一个 ASP.NET 页转移到另一个页面时,发起页包含目标页面可能需要的请求信息。 可以使用 PreviousPage 属性访问该信息。
如果当前页面是直接请求的结果呈现的, (不是从另一个页面) 传输或交叉发布,则 PreviousPage 属性包含 null
。