ASP.NET 1.x では、多くの友人がクロスページ送信処理を実行する必要がある場合があります。つまり、ページ A からページ B に送信できます。コントロールが異なれば、ターゲット処理ページも異なります。特に ASP/JSP/PHP から移行した開発者は、このニーズを抱えている可能性があります。しかし残念ながら、ASP.NET 1.x では、このようなクロスページ要求の処理は非常に見苦しく、多くの "スキル" が必要でした。
ASP.NET 2.0 では、クロスページ送信のための非常に合理的なソリューションがすでに存在していました。以下にその例を示します。
SourcePage.aspx: Button1 の PostBackUrl 属性設定に注意してください
<%...@ 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">...
パブリック文字列あなたの名前
...{
得る
...{
this.TextBox1.Text を返します。
}
}
</script>
<html xmlns=" http://www.w3.org/1999/xhtml " >
<head runat="サーバー">
<title>無題のページ</title>
</head>
<本文>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="名前を入力してください" width="183px"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" PostBackUrl="~/TargetPage.aspx" /></div>
</form>
</body>
</html>
<%...@ Page Language="C#" %>
のプロパティ設定に注意してください
。
<%...@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd ">
<script runat="server">...
protected void Page_Load(オブジェクト送信者, EventArgs e)
...{
this.Label1.Text = 前のページ.あなたの名前;
}
</script>
<html xmlns=" http://www.w3.org/1999/xhtml " >
<head runat="サーバー">
<title>無題のページ</title>
</head>
<本文>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" ></asp:Label>
</div>
</form>
</body>
</html>
OK、このような単純な 2 つの属性設定を使用すると、クロスページ送信機能を簡単に取得できます。もちろん、各コントロールを別のページに送信する必要がある場合など、独自のニーズに基づいてより複雑な設定を行うこともできます。