Button.PostBackUrl Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit l'URL de la page sur laquelle publier à partir de la page actuelle suite à un clic sur le contrôle 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
Valeur de propriété
URL de la page Web sur laquelle publier à partir de la page actuelle suite à un clic sur le contrôle Button. La valeur par défaut est une chaîne vide ("") qui provoque la publication de la page sur elle-même.
Implémente
- Attributs
Exemples
L’exemple de code suivant montre comment utiliser la PostBackUrl propriété pour effectuer un billet interpage. Lorsque l’utilisateur clique sur le Button contrôle, la page publie la valeur entrée dans la zone de texte dans la page cible spécifiée par la PostBackUrl propriété . Pour exécuter cet exemple, vous devez également créer un fichier pour la page cible dans le même répertoire que cet exemple de code. Le code de la page cible est fourni dans l’exemple suivant.
<%@ 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>
L’exemple de code suivant montre comment utiliser la Page.PreviousPage propriété pour accéder à une valeur qui a été publiée à partir d’une autre page à l’aide de la PostBackUrl propriété . Cette page obtient la chaîne qui a été publiée à partir de la page précédente et l’affiche à l’utilisateur. Si vous essayez d’exécuter cet exemple de code directement, vous obtiendrez une erreur, car la valeur du text
champ sera null
. Utilisez plutôt ce code pour créer une page cible et placer le fichier dans le même répertoire que le code de l’exemple précédent. Le nom du fichier doit correspondre à la valeur spécifiée pour la PostBackUrl propriété dans l’exemple précédent. Lorsque vous exécutez le code de l’exemple précédent, cette page s’exécute automatiquement lorsque le billet sur plusieurs pages se produit.
Important
Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des attaques 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>
Remarques
La PostBackUrl propriété vous permet d’effectuer un billet sur plusieurs pages à l’aide du Button contrôle .
Notes
Seuls les chemins d’accès correctement spécifiés fonctionnent avec cette propriété. Par exemple, les chemins relatifs (Test/default.aspx
), absolus (https://localhost/WebApp/default.aspx
) et virtuels (~\Test\default.aspx
) fonctionnent correctement. Les chemins d’accès mal formés tels que « /Test/default.aspx » ou « \Test\default.aspx » ne fonctionnent pas. Pour plus d’informations sur la création de chemins d’accès appropriés, consultez chemins de projet web ASP.NET .
Définissez la PostBackUrl propriété sur l’URL de la page web vers laquelle publier une publication lorsque vous cliquez sur le Button contrôle. Par exemple, la Page2.aspx
spécification entraîne la publication de la page qui contient le Button contrôle sur Page2.aspx
. Si vous ne spécifiez pas de valeur pour la PostBackUrl propriété, la page revient à elle-même.
Important
Lorsque vous effectuez une publication interpage avec des contrôles avec validation côté serveur, vous devez vérifier que la propriété de IsValid la page est true
avant de traiter la publication. Dans le cas d’une publication multipage, la page à vérifier est .PreviousPage Le code VB suivant montre comment procéder :
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
Pour plus d’informations sur les techniques de publication interpage, consultez Publication interpage dans ASP.NET Web Forms.
Cette propriété ne peut pas être définie par les thèmes ou les thèmes de feuille de style. Pour plus d’informations, consultez ThemeableAttribute et ASP.NET thèmes et skins.