ImageButton.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 ImageButton.
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 ImageButton. 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 ImageButton 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>ImageButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:imagebutton id="ImageButton1"
imageUrl=""
alternatetext="Post back to this page"
runat="Server">
</asp:imagebutton>
<br /><br />
<asp:imagebutton id="ImageButton2"
imageUrl=""
alternatetext="Post value to another page"
postbackurl="ImageButton.PostBackUrlPage2cs.aspx"
runat="Server">
</asp:imagebutton>
</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>ImageButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:imagebutton id="PostImageButton"
imageUrl="Images\PostButton.jpg"
alternatetext="Post back to this page"
runat="Server">
</asp:imagebutton>
<br /><br />
<asp:imagebutton id="CrossPostImageButton"
imageUrl="Images\CrossPostButton.jpg"
alternatetext="Post value to another page"
postbackurl="ImageButton.PostBackUrlPage2vb.aspx"
runat="Server">
</asp:imagebutton>
</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 que se publicó en 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.
Nota
En el ejemplo de código siguiente se usa el modelo de código de un solo archivo y es posible que no funcione correctamente si se copia directamente en un archivo de código subyacente. Este ejemplo de código debe copiarse en un archivo de texto vacío que tenga una extensión .aspx. Para obtener más información sobre el modelo de código de formularios Web Forms, vea ASP.NET modelo de código de página de formularios web Forms.
<%@ 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>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.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>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.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 ImageButton control . 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 ImageButton control. Por ejemplo, especificar Page2.aspx
hace que la página que contiene el ImageButton 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 un 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 siguiente código de Visual Basic 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, vea ThemeableAttribute y ASP.NET Temas y máscaras.