Button.PostBackUrl Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví adresu URL stránky pro publikování z aktuální stránky po kliknutí na Button ovládací prvek.
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
Hodnota vlastnosti
Adresa URL webové stránky, do které se má publikovat z aktuální stránky po kliknutí na Button ovládací prvek. Výchozí hodnota je prázdný řetězec (""), který způsobí, že se stránka publikuje zpět k sobě.
Implementuje
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít PostBackUrl vlastnost k provedení křížového příspěvku. Když uživatel klikne na Button ovládací prvek, stránka publikuje hodnotu zadanou v textovém poli na cílovou stránku určenou PostBackUrl vlastností. Pokud chcete spustit tuto ukázku, musíte také vytvořit soubor pro cílovou stránku ve stejném adresáři jako v tomto příkladu kódu. Kód cílové stránky je k dispozici v dalším příkladu.
<%@ 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>
Následující příklad kódu ukazuje, jak použít Page.PreviousPage vlastnost pro přístup k hodnotě, která byla publikována z jiné stránky pomocí PostBackUrl vlastnosti. Tato stránka získá řetězec publikovaný z předchozí stránky a zobrazí ho uživateli. Pokud se pokusíte spustit tento příklad kódu přímo, zobrazí se chyba, protože hodnota text pole bude null. Místo toho tento kód použijte k vytvoření cílové stránky a umístění souboru do stejného adresáře jako kód pro předchozí příklad. Název souboru musí odpovídat hodnotě zadané pro PostBackUrl vlastnost v předchozím příkladu. Když spustíte kód pro předchozí příklad, tato stránka se spustí automaticky, když dojde k příspěvku na křížové stránce.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace naleznete v tématu Přehled zneužití skriptů.
<%@ 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>
Poznámky
Vlastnost PostBackUrl umožňuje provádět křížový příspěvek pomocí Button ovládacího prvku.
Poznámka:
S touto vlastností fungují pouze správně zadané cesty. Například relativní cesty (Test/default.aspx), absolutní cesty (https://localhost/WebApp/default.aspx) a virtuální (~\Test\default.aspx) fungují správně. Nesprávně vytvořené cesty, například /Test/default.aspx nebo \Test\default.aspx, nefungují. Informace o vytváření správných cest najdete v tématu ASP.NET Cesty k webovému projektu .
PostBackUrl Nastavte vlastnost na adresu URL webové stránky, do které chcete publikovat při kliknutí na Button ovládací prvek. Určení například způsobí, Page2.aspx že stránka, která obsahuje Button ovládací prvek publikovat do Page2.aspx. Pokud neurčíte hodnotu vlastnosti PostBackUrl , stránka se vrátí zpět k sobě.
Důležité
Při provádění zpětného odeslání mezi stránkami s ovládacími prvky s ověřením na straně serveru byste měli zkontrolovat, zda je true vlastnost stránky IsValid před zpracováním postbacku. V případě zpětného příspěvku mezi stránkami je PreviousPagestránka, která se má zkontrolovat . Následující kód VB ukazuje, jak se to dělá:
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
Další informace o technikách křížového publikování najdete v tématu Křížové účtování v ASP.NET webových formulářích.
Tuto vlastnost nelze nastavit motivy ani motivy šablon stylů. Další informace najdete v tématu ThemeableAttribute a ASP.NET Motivy a skiny.