2 つの Web コントロールを使用しています。Web コントロール A には、Web コントロール B が含まれています。Web コントロール A が呼び出されると、自動的に webcontrolB が呼び出されます。WebcontrolB は、webcontrolA のメソッド Modify() に値を渡します。オブジェクトを保存したいのですが、ビューステートを使用してそれを行います:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
object o = Object;
ViewState["o"] = o;
}
}
問題は、webcontrolA に戻ったときに、ViewState から取得したオブジェクトが null であることです。そのため、別の Web コントロールが実行されると、オブジェクトは保存されません。保存していいですか??セッションも試しましたが、次のエラーが表示されました:「エラーメッセージ:オブジェクト参照がオブジェクトのインスタンスに設定されていません」
ビューステートから値を取得するには、これを使用しました:
public void Modify(int i)
{
object o = (object)ViewState["o"]; //result is null :(
}