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 de destino del envío desde la página actual cuando se hace clic en el control Button.
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
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. El valor predeterminado es una cadena vacía ("") que hace que la página se devuelva datos 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 publica el valor especificado en el cuadro de texto en 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 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 más información, consulte 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>
<%@ 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 (https://localhost/WebApp/default.aspx
) y virtual (~\Test\default.aspx
) funcionan correctamente. Las rutas de acceso con formato incorrecto, 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 una postback entre páginas, la página que se va a comprobar es .PreviousPage En el código VB siguiente se 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 o temas de la hoja de estilos. Para obtener más información, consulte ThemeableAttribute y ASP.NET Temas y máscaras.