Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
Button.PostBackUrl (Propiedad)
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.
Ensamblado: System.Web (en System.Web.dll)
Valor de propiedad
Tipo: System.StringLa 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. El valor predeterminado es una cadena vacía ("") que hace que la página se devuelva datos a sí misma.
Implementaciones
IButtonControl.PostBackUrlLa propiedad PostBackUrl le permite realizar un envío entre páginas mediante el control Button.
Nota
|
|---|
|
Sólo las rutas de acceso especificadas correctamente funcionan con esta propiedad. Por ejemplo, las rutas de acceso relativas (Test/default.aspx), absolutas (https://localhost/WebApp/default.aspx) y virtuales (~\Test\default.aspx) funcionan correctamente. Las rutas de acceso con formato incorrecto, como "/Test/default.aspx" o "\Test\default.aspx", no funcionan. Vea Rutas de acceso a proyectos web ASP.NET para obtener información sobre la creación de rutas de acceso correctas. |
Establezca la propiedad PostBackUrl en la dirección URL de la página Web a la que desee enviar los datos cuando se haga clic en el control Button. Por ejemplo, al especificar Page2.aspx, la página que contiene el control Button envía datos a Page2.aspx. Si no especifica un valor para la propiedad PostBackUrl, la página se devuelve datos a sí misma.
Importante
|
|---|
|
Al realizar una devolución de datos entre páginas con controles con validación en el servidor, debería comprobar que la propiedad IsValid de la página es true antes de procesar la devolución de datos. En el caso de una devolución de datos entre páginas, la página que se debe comprobar es la PreviousPage. En el siguiente código de VB se 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 las técnicas de envío de datos entre páginas, vea Envío entre páginas en las páginas Web ASP.NET.
Esta propiedad no se puede establecer mediante temas o temas de la hoja de estilos. Para obtener más información, vea ThemeableAttribute y Temas y máscaras de ASP.NET.
En el ejemplo de código siguiente se muestra cómo utilizar la propiedad PostBackUrl para realizar un envío entre páginas. Cuando el usuario hace clic en el control Button, la página envía el valor escrito en el cuadro de texto a la página de destino especificada por la propiedad PostBackUrl. Para poder ejecutar este ejemplo, deberá crear también un archivo para la página de destino en el mismo directorio que el de este ejemplo de código. El código para la página de destino se proporciona en el ejemplo siguiente.
<%@ 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 la propiedad Page.PreviousPage para obtener acceso a un valor enviado desde otra página mediante la propiedad PostBackUrl. Esta página obtiene la cadena enviada desde la página anterior y se la muestra al usuario. Si intenta ejecutar este ejemplo de código directamente, se producirá un error porque el valor del campo text será null. En lugar de ello, utilice 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 ser igual al valor especificado para la propiedad PostBackUrl en el ejemplo anterior. Cuando ejecute el código del ejemplo anterior, esta página se ejecutará automáticamente cuando se produzca el envío entre páginas.
Nota sobre la seguridad
|
|---|
|
En este ejemplo hay un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, las páginas web ASP.NET validan los datos escritos por el usuario para comprobar que no incluyen script ni elementos HTML. Para obtener más información, vea Información general sobre los ataques mediante scripts. |
<%@ 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>
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota
Importante
Nota sobre la seguridad