ViewState
カスタムメイドの変数が各ページ訪問(同じブラウザセッション)(Session
クライアント側のように)で常に利用可能か、それともページのポストバックでのみ利用可能かを考えていましたか?Request
これは、常にパケットとサーバーからのパケットでカプセル化されるクライアント側のデータであることを私は知ってResponse
います。
私は今これをテストしていました、そして私は以下をしました:
Home.aspx:
protected void Page_Load(object sender, EventArgs e)
{
ViewState["test"] = "test1";
}
protected void Button1_Click(object sender, EventArgs e)
{
string test = ViewState["test"].ToString();
Server.Transfer("Default.aspx");
}
そしてDefault.aspxで:
protected void Page_Load(object sender, EventArgs e)
{
string test = ViewState["test"].ToString();
}
しかし、私は得NullReferenceException
ます。つまり、は完全に新しく再生さViewState["test"]
れているため、存在しないということです。ViewState
したがって、私の結論はViewState
、フォームのポストバックを実行する場合にのみ変数を使用できるということです(ただし、実際には、フォームのポストバックの後に常にリダイレクトを実行するため、ViewStateを常に使用できるわけではありません...)。
私は自分の意見で正しいですか?