2ページあります。first.aspx と second.aspx。first.aspx からすべてのコントロール値を取得するために、second.aspx にディレクティブを追加しました
<%@ PreviousPageType VirtualPath="~/PR.aspx" %>
以前のページ コントロールをすべて取得してラベルに設定するのは問題ありませんが、これらの値をプライベート変数に保存し、ページ ロード イベントが完了した後に再利用するのは大きな問題です。コード例を次に示します。別のメソッドで入力から値を取得しようとすると、何も追加されません。なんで?
public partial class Second : System.Web.UI.Page
{
List<string> input = new List<string>();
protected void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage != null&&PreviousPage.IsCrossPagePostBack == true)
{
TextBox SourceTextBox11 (TextBox)Page.PreviousPage.FindControl("TextBox11");
if (SourceTextBox11 != null)
{
Label1.Text = SourceTextBox11.Text;
input.Add(SourceTextBox11.Text);
}
}
}
protected void SubmitBT_Click(object sender, EventArgs e)
{
//do sth with input list<string>
//input has nothing in it here.
}
}