Button.PostBackUrl Button.PostBackUrl Button.PostBackUrl Button.PostBackUrl Property

Definición

Obtiene o establece la dirección URL de la página de destino del envío desde la página actual cuando se hace clic en el control Button. Gets or sets the URL of the page to post to from the current page when the Button control is clicked.

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; }
member this.PostBackUrl : string with get, set
Public Overridable Property PostBackUrl As String
Valor de propiedad

La dirección URL de la página Web de destino del envío desde la página actual cuando se hace clic en el control Button. The URL of the Web page to post to from the current page when the Button control is clicked. El valor predeterminado es una cadena vacía ("") que hace que la página se devuelva datos a sí misma. The default value is an empty string (""), which causes the page to post back to itself.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el PostBackUrl propiedad para realizar una publicación entre páginas.The following code example demonstrates how to use the PostBackUrl property to perform a cross-page post. Cuando el usuario hace clic en el Button control, la página devuelve el valor especificado en el cuadro de texto a la página de destino especificada por el PostBackUrl propiedad.When the user clicks the Button control, the page posts the value entered in the text box to the target page specified by the PostBackUrl property. Para ejecutar este ejemplo, también debe crear un archivo de la página de destino en el mismo directorio que este ejemplo de código.To run this sample, you must also create a file for the target page in the same directory as this code example. En el ejemplo siguiente, se proporciona el código de página de destino.The code for target page is provided in the next example.

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

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

    <br /><br />

    <asp:button id="Button1" 
      text="Post back to this page"
      runat="Server">
    </asp:button>

    <br /><br />

    <asp:button id="Button2"
      text="Post value to another page" 
      postbackurl="Button.PostBackUrlPage2cs.aspx" 
      runat="Server">
    </asp:button>

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

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

    <br /><br />

    <asp:button id="Button1" 
      text="Post back to this page"
      runat="Server">
    </asp:button>

    <br /><br />

    <asp:button id="Button2"
      text="Post value to another page" 
      postbackurl="Button.PostBackUrlPage2vb.aspx" 
      runat="Server">
    </asp:button>

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

En el ejemplo de código siguiente se muestra cómo usar el Page.PreviousPage propiedad para tener acceso a un valor que se ha registrado desde otra página mediante el PostBackUrl propiedad.The following code example demonstrates how to use the Page.PreviousPage property to access a value that was posted from another page using the PostBackUrl property. Esta página obtiene la cadena que se ha registrado desde la página anterior y lo muestra al usuario.This page gets the string that was posted from the previous page and displays it to the user. Si intenta ejecutar este ejemplo de código directamente, obtendrá un error porque el valor de la text campo será null.If you attempt to run this code example directly, you will get an error because the value of the text field will be null. En su lugar, use este código para crear una página de destino y coloque el archivo en el mismo directorio que el código del ejemplo anterior.Instead, use this code to create a target page and place the file in the same directory as the code for the previous example. El nombre del archivo debe corresponder al valor especificado para el PostBackUrl propiedad en el ejemplo anterior.The name of the file must correspond to the value specified for the PostBackUrl property in the previous example. Al ejecutar el código del ejemplo anterior, esta página se ejecutará automáticamente cuando se produce la publicación entre páginas.When you run the code for the previous example, this page will execute automatically when the cross page post occurs.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad.This example has a text box that accepts user input, which is a potential security threat. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para más información, consulte Información general sobre los ataques mediante scripts.For more information, see Script Exploits Overview.

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

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

Comentarios

El PostBackUrl propiedad le permite realizar entre páginas mediante post la Button control.The PostBackUrl property allows you to perform a cross-page post using the Button control.

Nota

Las rutas de acceso especificadas correctamente solo funcionan con esta propiedad.Only correctly specified paths work with this property. Por ejemplo, rutas de acceso relativas (Test/default.aspx), las rutas de acceso absolutas (https://localhost/WebApp/default.aspx) y virtuales (~ \Test\default.aspx) funcione correctamente.For example, relative paths (Test/default.aspx), absolute paths (https://localhost/WebApp/default.aspx) and virtual (~\Test\default.aspx) work correctly. Ha formado incorrectamente las rutas de acceso como "/ Test/default.aspx" o "\Test\default.aspx" no funcionan.Incorrectly formed paths such as "/Test/default.aspx" or "\Test\default.aspx" do not work. Consulte rutas de acceso del proyecto de ASP.NET Web para obtener una explicación sobre la creación de rutas de acceso correctas.See ASP.NET Web Project Paths for a discussion on creating correct paths.

Establecer el PostBackUrl propiedad a la dirección URL de la página Web para registrar cuándo el Button se hace clic en el control.Set the PostBackUrl property to the URL of the Web page to post to when the Button control is clicked. Por ejemplo, si se especifica Page2.aspx hace que la página que contiene el Button control a Page2.aspx.For example, specifying Page2.aspx causes the page that contains the Button control to post to Page2.aspx. Si no especifica un valor para el PostBackUrl propiedad, la página de capacidad de respuesta.If you do not specify a value for the PostBackUrl property, the page posts back to itself.

Importante

Al realizar un postback entre páginas con controles con validación del lado servidor, debe comprobar que la página IsValid propiedad es true antes de procesar el postback.When performing a cross-page postback with controls with server-side validation, you should check that the page's IsValid property is true before processing the postback. En el caso de un postback entre páginas, es la página para comprobar la PreviousPage.In the case of a cross-page postback, the page to check is the PreviousPage. El código VB siguiente muestra cómo hacerlo:The following VB code shows how this is done:

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 obtener más información sobre las técnicas de publicación entre páginas, vea entre páginas de registro en los formularios Web Forms ASP.NET.For more information on cross-page posting techniques, see Cross-Page Posting in ASP.NET Web Forms.

Esta propiedad no se puede establecer mediante temas o temas de la hoja de estilos.This property cannot be set by themes or style sheet themes. Para obtener más información, consulte ThemeableAttribute y ASP.NET temas y máscaras.For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Se aplica a

Consultar también