Udostępnij za pośrednictwem


ImageButton.PostBackUrl Właściwość

Definicja

Pobiera lub ustawia adres URL strony do publikowania z bieżącej strony po kliknięciu kontrolki ImageButton .

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

Adres URL strony sieci Web do opublikowania na stronie bieżącej po kliknięciu kontrolki ImageButton . 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ę ImageButton , 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.

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

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.

Uwaga

Poniższy przykładowy kod używa modelu kodu pojedynczego pliku i może nie działać poprawnie, jeśli został skopiowany bezpośrednio do pliku za pomocą kodu. Ten przykładowy kod musi zostać skopiowany do pustego pliku tekstowego z rozszerzeniem .aspx. Aby uzyskać więcej informacji na temat modelu kodu formularzy internetowych, zobacz model kodu strony formularzy internetowych ASP.NET.

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

Uwagi

Właściwość PostBackUrl umożliwia wykonywanie międzystronicowego wpisu przy użyciu kontrolki ImageButton . PostBackUrl Ustaw właściwość na adres URL strony sieci Web, aby publikować na wartość po kliknięciu kontrolkiImageButton. Na przykład określenie Page2.aspx powoduje, że strona zawierająca kontrolkę ImageButton ma być publikowana na 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 wycofywania 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 języka 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 formularzach internetowych ASP.NET.

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 ThemeableAttributei ASP.NET Motywy i skóry.

Dotyczy

Zobacz też