Button.PostBackUrl Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la dirección URL de la página a la que se va a publicar desde la página actual cuando se hace clic en el Button control.
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 de propiedad
Dirección URL de la página web a la que se va a publicar desde la página actual cuando se hace clic en el Button control. El valor predeterminado es una cadena vacía (""), lo que hace que la página se devuelva a sí misma.
Implementaciones
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la PostBackUrl propiedad para realizar una publicación entre páginas. Cuando el usuario hace clic en el Button control, la página envía el valor especificado en el cuadro de texto a la página de destino especificada por la PostBackUrl propiedad . Para ejecutar este ejemplo, también debe crear un archivo para la página de destino en el mismo directorio que este ejemplo de código. El código de 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>
<%@ 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 la Page.PreviousPage propiedad para tener acceso a un valor publicado desde otra página mediante la PostBackUrl propiedad . Esta página obtiene la cadena publicada desde la página anterior y la muestra al usuario. Si intenta ejecutar este ejemplo de código directamente, obtendrá un error porque el valor del 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 la PostBackUrl propiedad en el ejemplo anterior. Al ejecutar el código del ejemplo anterior, esta página se ejecutará automáticamente cuando se produzca la publicación entre páginas.
Importante
Este ejemplo tiene un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de script.
<%@ 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
La PostBackUrl propiedad permite realizar una publicación entre páginas mediante el Button control .
Nota:
Solo las rutas de acceso especificadas correctamente funcionan con esta propiedad. Por ejemplo, las rutas de acceso relativas (Test/default.aspx), las rutas de acceso absolutas () y las virtuales (https://localhost/WebApp/default.aspx~\Test\default.aspx) funcionan correctamente. Las rutas de acceso formadas incorrectamente, como "/Test/default.aspx" o "\Test\default.aspx" no funcionan. Consulte ASP.NET Rutas de acceso del proyecto web para obtener una explicación sobre cómo crear rutas de acceso correctas.
Establezca la PostBackUrl propiedad en la dirección URL de la página web en la que se publicará cuando se haga clic en el Button control. Por ejemplo, especificar Page2.aspx hace que la página que contiene el Button control se publique en Page2.aspx. Si no especifica un valor para la PostBackUrl propiedad , la página se envía a sí misma.
Importante
Al realizar una postback entre páginas con controles con validación del lado servidor, debe comprobar que la propiedad de la página es true antes de IsValid procesar el postback. En el caso de un postback entre páginas, la página que se va a comprobar es .PreviousPage El código vb siguiente muestra cómo se hace esto:
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 Publicación entre páginas en ASP.NET Formularios web.
Esta propiedad no se puede establecer mediante temas ni temas de hojas de estilos. Para obtener más información, vea ThemeableAttribute y ASP.NET Temas y máscaras.