LinkButton.PostBackUrl Egenskap

Definition

Hämtar eller anger url:en för sidan som ska skickas till från den aktuella sidan när LinkButton kontrollen klickas.

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

Egenskapsvärde

Url:en för webbsidan som ska skickas till från den aktuella sidan när LinkButton kontrollen klickas. Standardvärdet är en tom sträng (") som gör att sidan skickas tillbaka till sig själv.

Implementeringar

Attribut

Exempel

Följande kodexempel visar hur du använder egenskapen PostBackUrl för att utföra ett inlägg på flera sidor. När användaren klickar på LinkButton kontrollen publicerar sidan det värde som angetts i textrutan till målsidan som anges av PostBackUrl egenskapen. Om du vill köra det här exemplet måste du också skapa en fil för målsidan i samma katalog som det här kodexemplet. Koden för målsidan finns i nästa exempel.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

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

Följande kodexempel visar hur du använder Page.PreviousPage egenskapen för att komma åt ett värde som har publicerats från en annan sida med hjälp av PostBackUrl egenskapen. Den här sidan hämtar strängen som publicerades från föregående sida och visar den för användaren. Om du försöker köra det här kodexemplet direkt får du ett fel eftersom värdet för text fältet blir null. Använd i stället den här koden för att skapa en målsida och placera filen i samma katalog som koden för föregående exempel. Namnet på filen måste motsvara det värde som angavs för PostBackUrl egenskapen i föregående exempel. När du kör koden för föregående exempel körs den här sidan automatiskt när korssidesinlägget inträffar.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

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

Kommentarer

Med PostBackUrl egenskapen kan du utföra ett sidövergripande inlägg med hjälp av LinkButton kontrollen. PostBackUrl Ange egenskapen till url:en för webbsidan som ska skickas till när LinkButton kontrollen klickas. Om du till exempel anger Page2.aspx gör att sidan som innehåller kontrollen skickas LinkButton till Page2.aspx. Om du inte anger något värde för PostBackUrl egenskapen skickas sidan tillbaka till sig själv.

Important

När du utför ett korssidigt efterinlägg med kontroller med verifiering på serversidan bör du kontrollera att sidans IsValid egenskap är true innan du bearbetar efteråterställningen. När det gäller ett sidöverlägg på flera sidor är sidan som ska kontrolleras föregående sida. Följande Visual Basic kod visar hur det går till:

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

Mer information om metoder för publicering mellan sidor finns i Cross-Page Posting i ASP.NET Web Forms.

Den här egenskapen kan inte anges med teman eller formatmallsteman. Mer information finns i ThemeableAttribute and ASP.NET Themes and Skins.

Gäller för

Se även