Page.PreviousPage Proprietà

Definizione

Ottiene la pagina che ha trasferito il controllo alla pagina corrente.

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

Valore della proprietà

L'oggetto Page che rappresenta la pagina che ha trasferito il controllo alla pagina corrente.

Attributi

Eccezioni

All'utente corrente non è consentito accedere alla pagina precedente.

-oppure-

Il routing ASP.NET è utilizzato e l'URL della pagina precedente è un URL indirizzato. Quando ASP.NET controlla le autorizzazioni di accesso, presuppone che l'URL sia un percorso effettivo a un file. Poiché non si tratta del caso con un URL indirizzato, il controllo non riesce.

Esempio

L'esempio seguente è in due parti. La prima è una pagina ASP.NET che usa il Transfer metodo, esposto nel modello di pagina come Server.Transfer("path"). La seconda parte è la pagina di destinazione, che usa la PreviousPage proprietà per ottenere il titolo della prima pagina.

<%@ 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>

Commenti

Quando si usa il Transfer metodo o si usa la registrazione tra pagine per trasferire l'elaborazione da una pagina ASP.NET a un'altra, la pagina di origine contiene informazioni sulla richiesta che potrebbero essere necessarie per la pagina di destinazione. È possibile usare la PreviousPage proprietà per accedere a tali informazioni.

Se la pagina corrente viene eseguito il rendering come risultato di una richiesta diretta (non un trasferimento o un post incrociato da un'altra pagina), la PreviousPage proprietà contiene null.

Si applica a