ImageButton.PostBackUrl Tulajdonság

Definíció

Lekéri vagy beállítja annak a lapnak az URL-címét, amelybe a vezérlőelem kattintásakor ImageButton az aktuális oldalról szeretne bejegyzést közzétenni.

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

Tulajdonság értéke

Annak a weblapnak az URL-címe, amelybe a vezérlőelem kattintásakor fel szeretne venni az ImageButton aktuális lapról. Az alapértelmezett érték egy üres sztring (""), amely miatt a lap visszakerül önmagába.

Megvalósítás

Attribútumok

Példák

Az alábbi példakód bemutatja, hogyan használhatja a PostBackUrl tulajdonságot egy többoldalas bejegyzés végrehajtására. Amikor a felhasználó a ImageButton vezérlőre kattint, a lap a szövegmezőben megadott értéket a tulajdonság által PostBackUrl megadott céllapra helyezi. A minta futtatásához egy fájlt is létre kell hoznia a céllaphoz ugyanabban a könyvtárban, mint ez a példakód. A céloldal kódját a következő példában adhatja meg.

<%@ 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>ImageButton.PostBackUrl Example</title>
</head>
<body>    
  <form id="form1" runat="server">
    
    <h3>ImageButton.PostBackUrl Example</h3>

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

    <br /><br />

    <asp:imagebutton id="ImageButton1"
      imageUrl=""
      alternatetext="Post back to this page"
      runat="Server">
    </asp:imagebutton>

    <br /><br />

    <asp:imagebutton id="ImageButton2"
      imageUrl=""
      alternatetext="Post value to another page" 
      postbackurl="ImageButton.PostBackUrlPage2cs.aspx" 
      runat="Server">
    </asp:imagebutton>

  </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>ImageButton.PostBackUrl Example</title>
</head>
<body>    
  <form id="form1" runat="server">
    
    <h3>ImageButton.PostBackUrl Example</h3>

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

    <br /><br />

    <asp:imagebutton id="PostImageButton"
      imageUrl="Images\PostButton.jpg"
      alternatetext="Post back to this page"
      runat="Server">
    </asp:imagebutton>

    <br /><br />

    <asp:imagebutton id="CrossPostImageButton"
      imageUrl="Images\CrossPostButton.jpg"
      alternatetext="Post value to another page" 
      postbackurl="ImageButton.PostBackUrlPage2vb.aspx" 
      runat="Server">
    </asp:imagebutton>

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

Az alábbi példakód bemutatja, hogyan használhatja a Page.PreviousPage tulajdonságot egy másik lapról közzétett érték elérésére a PostBackUrl tulajdonság használatával. Ez a lap lekéri az előző oldalról közzétett sztringet, és megjeleníti a felhasználónak. Ha közvetlenül próbálja futtatni ezt a példakódot, hibaüzenet jelenik meg, mert a mező értéke a Text következő lesz null: . Ehelyett ezzel a kóddal hozzon létre egy céllapot, és helyezze a fájlt ugyanabba a könyvtárba, mint az előző példa kódja. A fájl nevének meg kell felelnie az előző példában a PostBackUrl tulajdonsághoz megadott értéknek. Az előző példához tartozó kód futtatásakor a lap automatikusan végrehajtja a többoldalas bejegyzést.

Note

Az alábbi kódminta az egyfájlos kódmodellt használja, és előfordulhat, hogy nem működik megfelelően, ha közvetlenül egy kód mögötti fájlba másolja. Ezt a kódmintát egy üres szövegfájlba kell másolni, amely .aspx kiterjesztéssel rendelkezik. A Webes űrlapok kódmodellről további információt a ASP.NET Web Forms Lapkódmodell című témakörben talál.

<%@ 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>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="form1" runat="server">
    
    <h3>ImageButton.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>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="form1" runat="server">
    
    <h3>ImageButton.PostBackUrl Target Page Example</h3>
       
    <br />
    
    <asp:label id="PostedLabel"
       runat="Server">
    </asp:label>

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

Megjegyzések

A PostBackUrl tulajdonság lehetővé teszi, hogy oldalközi bejegyzést végezzen a ImageButton vezérlővel. Állítsa be a PostBackUrl tulajdonságot annak a weblapnak az URL-címére, amelybe a vezérlőelemre kattintva közzéteheti a ImageButton bejegyzést. A beállítás Page2.aspx például azt eredményezi, hogy a vezérlőt ImageButton tartalmazó lap közzéteendő Page2.aspx. Ha nem ad meg értéket a PostBackUrl tulajdonsághoz, az oldal visszahelyezi magát.

Important

Ha kiszolgálóoldali ellenőrzéssel rendelkező vezérlőkkel végez oldalkeresztezést, ellenőrizze, hogy a lap tulajdonsága IsValid a postback feldolgozása előtt van-e true . Többoldalas utómunkák esetén az ellenőrizni kívánt lap az PreviousPage. A következő Visual Basic kód bemutatja ennek módját:

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

Az oldalközi közzétételi technikákról további információt a Cross-Page Posting in ASP.NET Web Forms című témakörben talál.

Ez a tulajdonság nem állítható be témák vagy stíluslaptémák szerint. További információ: ThemeableAttribute és ASP.NET Témák és bőrök.

A következőre érvényes:

Lásd még