Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Button.PostBackUrl

 

Publicado: octubre de 2016

Obtiene o establece la dirección URL de la página para registrar para la actual página cuando el Button se hace clic en el control.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

[ThemeableAttribute(false)]
public virtual string PostBackUrl { get; set; }

Valor de propiedad

Type: System.String

La dirección URL de la página Web para registrar para la actual página cuando el Button se hace clic en el control. El valor predeterminado es una cadena vacía (""), lo que hace que la página a sí misma.

El PostBackUrl propiedad le permite realizar entre páginas post con el Button control.

System_CAPS_noteNota

Sólo las rutas de acceso especificadas correctamente funcionan con esta propiedad. Por ejemplo, rutas de acceso relativas (Test/default.aspx), rutas de acceso absolutas (https://localhost/WebApp/default.aspx) y virtuales (~ \Test\default.aspx) funcionan correctamente. Formado incorrectamente las rutas de acceso como "/ Test/default.aspx" o "\Test\default.aspx" no funcionan. Consulte ASP.NET Web Project Paths para obtener una explicación sobre la creación de rutas de acceso correctas.

Establecer el PostBackUrl propiedad a la dirección URL de la página Web para registrar cuando el Button se hace clic en el control. Por ejemplo, si se especifica Page2.aspx la página que contiene el Button control a Page2.aspx. Si no especifica un valor para el PostBackUrl propiedad, la página de capacidad de respuesta.

System_CAPS_importantImportante

Cuando se realiza una devolución de datos entre páginas con controles de validación del lado servidor, debe comprobar que la página IsValid es la propiedad true antes de procesar la devolución de datos. En el caso de una devolución de datos entre páginas, la página comprobar es la PreviousPage. El siguiente código VB muestra cómo hacerlo:

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 técnicas de publicación entre páginas, vea Cross-Page Posting in ASP.NET Web Forms.

No se puede establecer esta propiedad por temas o temas de hoja de estilos. Para obtener más información, consulte ThemeableAttribute y ASP.NET Themes and Skins.

En el ejemplo de código siguiente se muestra cómo utilizar el PostBackUrl propiedad para realizar un envío entre páginas. Cuando el usuario hace clic en el Button control, la página envía el valor introducido en el cuadro de texto a la página de destino especificada por el PostBackUrl propiedad. 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. En el ejemplo siguiente, se proporciona el código de la página de destino.

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

En el ejemplo de código siguiente se muestra cómo utilizar el Page.PreviousPage propiedad para tener acceso a un valor enviado desde otra página mediante la PostBackUrl propiedad. Esta página obtiene la cadena que se ha registrado desde la página anterior y lo muestra al usuario. Si intenta ejecutar este ejemplo de código directamente, obtendrá un error porque el valor de la text campo será null. En su lugar, use este código para crear una página de destino y colocar el archivo en el mismo directorio que el código del ejemplo anterior. El nombre del archivo debe corresponder al valor especificado para el PostBackUrl en el ejemplo anterior. Al ejecutar el código para el ejemplo anterior, esta página se ejecutará automáticamente cuando se produce el envío entre páginas.

System_CAPS_security Seguridad Nota

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para obtener más información, consulta 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>

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: