Partilhar via


ImageButton.PostBackUrl Propriedade

Definição

Obtém ou define a URL da página que será usada para postagem da página atual quando um usuário clicar no controle 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

Valor da propriedade

A URL da página da Web que será usada para postagem da página atual quando o controle ImageButton for acionado. O valor padrão é uma cadeia de caracteres vazia (""), que faz com que a página execute postback para si mesma.

Implementações

Atributos

Exemplos

O exemplo de código a seguir demonstra como usar a PostBackUrl propriedade para executar uma postagem entre páginas. Quando o usuário clica no ImageButton controle, a página posta o valor inserido na caixa de texto na página de destino especificada pela PostBackUrl propriedade . Para executar este exemplo, você também deve criar um arquivo para a página de destino no mesmo diretório que este exemplo de código. O código da página de destino é fornecido no próximo exemplo.

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

O exemplo de código a seguir demonstra como usar a Page.PreviousPage propriedade para acessar um valor que foi postado de outra página usando a PostBackUrl propriedade . Esta página obtém a cadeia de caracteres que foi postada da página anterior e a exibe para o usuário. Se você tentar executar este exemplo de código diretamente, receberá um erro porque o valor do Text campo será null. Em vez disso, use esse código para criar uma página de destino e colocar o arquivo no mesmo diretório que o código do exemplo anterior. O nome do arquivo deve corresponder ao valor especificado para a PostBackUrl propriedade no exemplo anterior. Quando você executar o código do exemplo anterior, essa página será executada automaticamente quando ocorrer a postagem entre páginas.

Observação

O exemplo de código a seguir usa o modelo de código de arquivo único e pode não funcionar corretamente se copiado diretamente em um arquivo code-behind. Este exemplo de código deve ser copiado para um arquivo de texto vazio que tenha uma extensão de .aspx. Para obter mais informações sobre o modelo de código do Web Forms, consulte ASP.NET Web Forms Page Code Model.

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

Comentários

A PostBackUrl propriedade permite que você execute uma postagem entre páginas usando o ImageButton controle . Defina a PostBackUrl propriedade como a URL da página da Web para postar quando o ImageButton controle for clicado. Por exemplo, especificar Page2.aspx faz com que a página que contém o ImageButton controle seja postada em Page2.aspx. Se você não especificar um valor para a PostBackUrl propriedade , a página será posta de volta para si mesma.

Importante

Ao executar um postback entre páginas com controles com validação do lado do servidor, você deve verificar se a propriedade da IsValid página é true antes de processar o postback. No caso de um postback entre páginas, a página a ser verificada é PreviousPage. O seguinte código do Visual Basic mostra como isso é feito:

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  

Para obter mais informações sobre técnicas de postagem entre páginas, consulte Postagem entre páginas no ASP.NET Web Forms.

Essa propriedade não pode ser definida por temas ou temas de folha de estilos. Para obter mais informações, consulte ThemeableAttribute e ASP.NET Temas e Capas.

Aplica-se a

Confira também