クロスページ投稿の例を試しています。default.aspxページに1つのテキストボックスと1つのボタンを追加しました
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Button" PostBackUrl="~/About.aspx"/>
about.aspxページの分離コードファイルに次のコードを追加しました
protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Label1.Text = SourceTextBox.Text;
}
else
Label1.Text = "no value";
}
else
Label1.Text = "no value from previous page";
}
textbox1にテキストを入力してボタンをクリックすると、about.aspxに移動しますが、ラベルに「値なし」の値が表示され、textbox1のテキスト値が表示されません。なぜこれが正しく機能しないのですか?