Page.PreviousPage Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает страницу, передавшую управление текущей странице.
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-адреса, проверка завершится ошибкой.
Примеры
Следующий пример состоит из двух частей. Первый — это страница ASP.NET, которая использует Transfer метод, предоставляемый в модели страницы как 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
.