LinkButton.PostBackUrl Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o URL da página para publicar a partir da página atual quando o LinkButton controlo é clicado.
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 Propriedade
A URL da página Web para publicar a partir da página atual quando o LinkButton controlo é clicado. O valor padrão é uma cadeia vazia (""), que faz com que a página volte a ser publicada para si própria.
Implementações
- Atributos
Exemplos
O exemplo de código seguinte demonstra como usar a PostBackUrl propriedade para realizar uma publicação entre páginas. Quando o utilizador clica no LinkButton controlo, a página publica o valor introduzido na caixa de texto para a página de destino especificada pela PostBackUrl propriedade. Para executar este exemplo, deve também criar um ficheiro para a página de destino no mesmo diretório deste exemplo de código. O código para a página de destino é fornecido no exemplo seguinte.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de Scripts.
<%@ 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>LinkButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>LinkButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:linkbutton id="LinkButton1"
text="Post back to this page"
runat="Server">
</asp:linkbutton>
<br /><br />
<asp:linkbutton id="LinkButton2"
text="Post value to another page"
postbackurl="LinkButton.PostBackUrlPage2cs.aspx"
runat="Server">
</asp:linkbutton>
</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>LinkButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>LinkButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:linkbutton id="LinkButton1"
text="Post back to this page"
runat="Server">
</asp:linkbutton>
<br /><br />
<asp:linkbutton id="LinkButton2"
text="Post value to another page"
postbackurl="LinkButton.PostBackUrlPage2vb.aspx"
runat="Server">
</asp:linkbutton>
</form>
</body>
</html>
O exemplo de código seguinte demonstra como usar a Page.PreviousPage propriedade para aceder a um valor que foi publicado a partir de outra página usando a PostBackUrl propriedade. Esta página recebe a cadeia que foi publicada da página anterior e mostra-a ao utilizador. Se tentar executar este exemplo de código diretamente, terá um erro porque o valor do text campo será null. Em vez disso, use este código para criar uma página de destino e coloque o ficheiro no mesmo diretório do código do exemplo anterior. O nome do ficheiro deve corresponder ao valor especificado para a PostBackUrl propriedade no exemplo anterior. Quando executa o código do exemplo anterior, esta página executa-se automaticamente quando ocorre a publicação entre páginas.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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>LinkButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>LinkButton.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>LinkButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>LinkButton.PostBackUrl Target Page Example</h3>
<br />
<asp:label id="PostedLabel"
runat="Server">
</asp:label>
</form>
</body>
</html>
Observações
A PostBackUrl propriedade permite-lhe realizar uma publicação entre páginas usando o LinkButton controlo. Defina a PostBackUrl propriedade para o URL da página web para publicar quando o LinkButton controlo for clicado. Por exemplo, especificar Page2.aspx faz com que a página que contém o LinkButton controlo publique em Page2.aspx. Se não especificar um valor para a PostBackUrl propriedade, a página volta a ser publicada para si própria.
Importante
Ao realizar um postback entre páginas com controlos e validação do lado do servidor, deve verificar se a propriedade da IsValid página está true antes de processar o postback. No caso de um postback entre páginas, a página a verificar é a PreviousPage. O seguinte código Visual Basic mostra como isto é feito:
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 mais informações sobre técnicas de publicação entre páginas, consulte Cross-Page Posting em ASP.NET Web Forms.
Esta propriedade não pode ser definida por temas ou temas de folhas de estilo. Para mais informações, consulte ThemeableAttribute e ASP.NET Temas e Skins.