Бөлісу құралы:


LinkButton.PostBackUrl Свойство

Определение

Получает или задает URL-адрес страницы, на которую осуществляется передача с текущей страницы при нажатии элемента управления LinkButton.

public:
 virtual property System::String ^ PostBackUrl { System::String ^ get(); void set(System::String ^ value); };
[System.Web.UI.Themeable(false)]
public virtual string PostBackUrl { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.PostBackUrl : string with get, set
Public Overridable Property PostBackUrl As String

Значение свойства

URL-адрес веб-страницы, на которую осуществляется передача с текущей страницы при нажатии элемента управления LinkButton. Значение по умолчанию — пустая строка (""), которая приводит к обратной передаче страницы самой себе.

Реализации

Атрибуты

Примеры

В следующем примере кода показано, как использовать PostBackUrl свойство для выполнения записи на нескольких страницах. Когда пользователь щелкает LinkButton элемент управления, страница публикует значение, введенное в текстовом поле, на целевую страницу, указанную свойством PostBackUrl . Чтобы запустить этот пример, необходимо также создать файл для целевой страницы в том же каталоге, что и в этом примере кода. Код целевой страницы приведен в следующем примере.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>LinkButton.PostBackUrl Example</title>
</head>
<body>    
  <form id="form1" runat="server">
    
    <h3>LinkButton.PostBackUrl Example</h3>

    Enter a value to post:
    <asp:textbox id="TextBox1" 
      runat="Server">
    </asp:textbox>

    <br /><br />

    <asp:linkbutton id="LinkButton1" 
      text="Post back to this page"
      runat="Server">
    </asp:linkbutton>

    <br /><br />

    <asp:linkbutton id="LinkButton2"
      text="Post value to another page" 
      postbackurl="LinkButton.PostBackUrlPage2cs.aspx" 
      runat="Server">
    </asp:linkbutton>

  </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>LinkButton.PostBackUrl Example</title>
</head>
<body>    
  <form id="form1" runat="server">
    
    <h3>LinkButton.PostBackUrl Example</h3>

    Enter a value to post:
    <asp:textbox id="TextBox1" 
      runat="Server">
    </asp:textbox>

    <br /><br />

    <asp:linkbutton id="LinkButton1" 
      text="Post back to this page"
      runat="Server">
    </asp:linkbutton>

    <br /><br />

    <asp:linkbutton id="LinkButton2"
      text="Post value to another page" 
      postbackurl="LinkButton.PostBackUrlPage2vb.aspx" 
      runat="Server">
    </asp:linkbutton>

  </form>
</body>
</html>

В следующем примере кода показано, как использовать Page.PreviousPage свойство для доступа к значению, которое было опубликовано с другой страницы с помощью PostBackUrl свойства . Эта страница получает строку, опубликованную с предыдущей страницы, и отображает ее пользователю. Если вы попытаетесь выполнить этот пример кода напрямую, вы получите сообщение об ошибке, так как значение text поля будет равно null. Вместо этого используйте этот код для создания целевой страницы и размещения файла в том же каталоге, что и код для предыдущего примера. Имя файла должно соответствовать значению, указанному PostBackUrl для свойства в предыдущем примере. При выполнении кода для предыдущего примера эта страница будет выполняться автоматически при перекрестной публикации.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и 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">
  
  void Page_Load (object sender, System.EventArgs e)
  {
    string text;
    
    // Get the value of TextBox1 from the page that 
    // posted to this page.
    text = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;
    
    // Check for an empty string.
    if (text != "")
      PostedLabel.Text = "The string posted from the previous page is "
                         + text + ".";
    else
      PostedLabel.Text = "An empty string was posted from the previous page.";
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>LinkButton.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="form1" runat="server">
    
    <h3>LinkButton.PostBackUrl Target Page Example</h3>
      
    <br />
    
    <asp:label id="PostedLabel"
       runat="Server">
    </asp:label>

    </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">
  Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Dim text As String
    
    ' Get the value of TextBox1 from the page that posted
    ' to this page.
    text = CType((PreviousPage.FindControl("TextBox1")), TextBox).Text
       
    ' Check for an empty string.
    If Not (text = "") Then
      PostedLabel.Text = "The string posted from the previous page is " _
                         & text & "."
    Else
      PostedLabel.Text = "An empty string was posted from the previous page."
    End If
    
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>LinkButton.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="form1" runat="server">
    
    <h3>LinkButton.PostBackUrl Target Page Example</h3>
       
    <br />
    
    <asp:label id="PostedLabel"
       runat="Server">
    </asp:label>

    </form>
</body>
</html>

Комментарии

Свойство PostBackUrl позволяет выполнять межстраничную публикацию с помощью LinkButton элемента управления . Задайте для PostBackUrl свойства URL-адрес веб-страницы, в который будет отправляться сообщение при щелчке LinkButton элемента управления. Например, при указании Page2.aspx страница, содержащая LinkButton элемент управления , отправляется в Page2.aspx. Если не указать значение для PostBackUrl свойства, страница возвращается к самой себе.

Важно!

При выполнении обратной передачи на нескольких страницах с элементами управления с проверкой на стороне сервера перед обработкой обратной передачи следует проверить, что свойство страницы IsValid имеет true значение . В случае обратной передачи между страницами проверяется страница PreviousPage. В следующем коде Visual Basic показано, как это сделать:

Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.PreviousPage.IsValid Then
            ' Handle the post back
        Else
            Response.Write("Invalid")
        End If
End Sub

Дополнительные сведения о методах межстраничной публикации см. в разделе Межстраничные публикации в ASP.NET Веб-форм.

Значение для данного свойства нельзя задать с помощью тем или тем таблиц стилей. Дополнительные сведения см. в разделах ThemeableAttribute и ASP.NET Темы и обложки.

Применяется к

См. также раздел