ImageButton.PostBackUrl Vlastnost

Definice

Získá nebo nastaví adresu URL stránky pro publikování z aktuální stránky po kliknutí na ImageButton ovládací prvek.

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

Hodnota vlastnosti

String

Adresa URL webové stránky, do které se má publikovat z aktuální stránky po kliknutí na ImageButton ovládací prvek. Výchozí hodnota je prázdný řetězec (""), který způsobí, že se stránka publikuje zpět do sebe.

Implementuje

Atributy

Příklady

Následující příklad kódu ukazuje, jak použít PostBackUrl vlastnost k provedení křížového příspěvku. Když uživatel klikne na ImageButton ovládací prvek, stránka publikuje hodnotu zadanou do textového pole na cílovou stránku určenou PostBackUrl vlastností. Pokud chcete tuto ukázku spustit, musíte také vytvořit soubor pro cílovou stránku ve stejném adresáři jako v tomto příkladu kódu. Kód cílové stránky je uveden v dalším příkladu.

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

Následující příklad kódu ukazuje, jak použít Page.PreviousPage vlastnost pro přístup k hodnotě, která byla publikována z jiné stránky pomocí PostBackUrl vlastnosti. Tato stránka získá řetězec, který byl publikován z předchozí stránky, a zobrazí ho uživateli. Pokud se pokusíte spustit tento příklad kódu přímo, zobrazí se chyba, protože hodnota Text pole bude null. Místo toho použijte tento kód k vytvoření cílové stránky a umístění souboru do stejného adresáře jako kód pro předchozí příklad. Název souboru musí odpovídat hodnotě zadané pro PostBackUrl vlastnost v předchozím příkladu. Když spustíte kód pro předchozí příklad, tato stránka se spustí automaticky při výskytu příspěvku mezi stránkami.

Poznámka

Následující ukázka kódu používá model s jedním souborem a nemusí správně fungovat, pokud se zkopíruje přímo do souboru s kódem. Tento vzorový kód musí být zkopírován do prázdného textového souboru, který má příponu .aspx. Další informace o modelu kódu Web Forms naleznete v tématu ASP.NET Web Forms Model kódu stránky.

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

Poznámky

Vlastnost PostBackUrl umožňuje provést křížový příspěvek pomocí ImageButton ovládacího prvku. PostBackUrl Nastavte vlastnost na adresu URL webové stránky, do které se má publikovat po kliknutí na ImageButton ovládací prvek. Určení Page2.aspx například způsobí, že stránka, která obsahuje ImageButton ovládací prvek publikovat do Page2.aspx. Pokud nezadáte hodnotu vlastnosti PostBackUrl , stránka se publikuje zpět k sobě.

Důležité

Při provádění křížového postbacku s ovládacími prvky s ověřením na straně serveru byste měli zkontrolovat, zda je true vlastnost stránky IsValid před zpracováním postbacku. V případě zpětného odeslání mezi stránkami je stránka, která se má zkontrolovat, předchozí stránka. Následující kód Visual Basic ukazuje, jak se to dělá:

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  

Další informace o technikách publikování mezi stránkami najdete v tématu Účtování mezi stránkami v ASP.NET Web Forms.

Tuto vlastnost nelze nastavit motivy ani motivy šablon stylů. Další informace najdete v tématech ThemeableAttribute a skinech a ASP.NET.

Platí pro

Viz také