LinkButton.PostBackUrl Właściwość

Definicja

Pobiera lub ustawia adres URL strony do publikowania na stronie z bieżącej strony po kliknięciu kontrolki 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

Wartość właściwości

String

Adres URL strony sieci Web do opublikowania na stronie bieżącej po kliknięciu kontrolki LinkButton . Wartość domyślna to pusty ciąg (""), co powoduje, że strona będzie publikować z powrotem do siebie.

Implementuje

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą PostBackUrl właściwości wykonać wpis międzystronicowy. Gdy użytkownik kliknie kontrolkę LinkButton , strona publikuje wartość wprowadzoną w polu tekstowym do strony docelowej określonej przez PostBackUrl właściwość. Aby uruchomić ten przykład, należy również utworzyć plik dla strony docelowej w tym samym katalogu co ten przykład kodu. Kod strony docelowej jest podany w następnym przykładzie.

Ważne

W tym przykładzie znajduje się pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

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

W poniższym przykładzie kodu pokazano, jak za pomocą Page.PreviousPage właściwości uzyskać dostęp do wartości opublikowanej PostBackUrl na innej stronie przy użyciu właściwości . Ta strona pobiera ciąg, który został opublikowany z poprzedniej strony i wyświetla go użytkownikowi. Jeśli spróbujesz uruchomić ten przykład kodu bezpośrednio, zostanie wyświetlony błąd, ponieważ wartość text pola będzie następująca null: . Zamiast tego użyj tego kodu, aby utworzyć stronę docelową i umieścić plik w tym samym katalogu co kod dla poprzedniego przykładu. Nazwa pliku musi odpowiadać wartości określonej dla PostBackUrl właściwości w poprzednim przykładzie. Po uruchomieniu kodu dla poprzedniego przykładu ta strona zostanie wykonana automatycznie po wystąpieniu wpisu międzystronicowego.

Ważne

W tym przykładzie znajduje się pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

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

Uwagi

Właściwość PostBackUrl umożliwia wykonywanie międzystronicowego wpisu przy użyciu kontrolki LinkButton . PostBackUrl Ustaw właściwość na adres URL strony sieci Web, na który ma być publikowana po kliknięciu kontrolkiLinkButton. Na przykład określenie parametru Page2.aspx powoduje, że strona zawierająca kontrolkę LinkButton , która będzie publikować w pliku Page2.aspx. Jeśli nie określisz wartości właściwości PostBackUrl , strona opublikuje się z powrotem do siebie.

Ważne

Podczas przeprowadzania powrotu międzystronicowego z kontrolkami z walidacją po stronie serwera należy sprawdzić, czy właściwość strony IsValid jest true przed przetworzeniem po powrocie zwrotnej. W przypadku odsyłania zwrotnego między stronami strona do sprawdzenia jest Poprzednia strona. Poniższy kod Visual Basic pokazuje, jak to zrobić:

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

Aby uzyskać więcej informacji na temat technik publikowania między stronami, zobacz Publikowanie między stronami w ASP.NET Web Forms.

Nie można ustawić tej właściwości według motywów ani motywów arkusza stylów. Aby uzyskać więcej informacji, zobacz ThemeableAttribute i ASP.NET Motywy i skóry.

Dotyczy

Zobacz też