使用英语阅读

通过


Page.PreviousPage 属性

定义

获取向当前页传输控件的页。

[System.ComponentModel.Browsable(false)]
public System.Web.UI.Page PreviousPage { get; }

属性值

表示向当前页传输控件的页的 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="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>

注解

使用 Transfer 方法或使用跨页发布将处理从一个 ASP.NET 页转移到另一个页面时,发起页包含目标页面可能需要的请求信息。 可以使用 PreviousPage 属性访问该信息。

如果当前页面是直接请求的结果呈现的, (不是从另一个页面) 传输或交叉发布,则 PreviousPage 属性包含 null

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1