Page.PreviousPage Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera stronę, która przeniosła kontrolkę do bieżącej strony.
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
Wartość właściwości
Reprezentujący Page stronę, która przeniosła kontrolkę do bieżącej strony.
- Atrybuty
Wyjątki
Bieżący użytkownik nie może uzyskać dostępu do poprzedniej strony.
-lub-
ASP.NET routing jest używany, a adres URL poprzedniej strony jest adresem URL kierowanym. Gdy ASP.NET sprawdza uprawnienia dostępu, zakłada się, że adres URL jest rzeczywistą ścieżką do pliku. Ponieważ tak nie jest w przypadku kierowanego adresu URL, sprawdzanie kończy się niepowodzeniem.
Przykłady
Poniższy przykład znajduje się w dwóch częściach. Pierwsza to strona ASP.NET, która używa Transfer metody uwidocznionej w modelu strony jako Server.Transfer("path")
. Druga część to strona docelowa, która używa PreviousPage właściwości , aby uzyskać tytuł pierwszej strony.
<%@ 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>
Uwagi
Jeśli używasz Transfer metody lub używasz publikowania krzyżowego do transferu przetwarzania z jednej strony ASP.NET do innej, strona źródłowa zawiera informacje o żądaniach, które mogą być wymagane dla strony docelowej. Możesz użyć PreviousPage właściwości , aby uzyskać dostęp do tych informacji.
Jeśli bieżąca strona jest renderowana w wyniku żądania bezpośredniego (a nie przeniesienia lub krzyżowego wpisu z innej strony), PreviousPage właściwość zawiera wartość null
.