0

Web ページにユーザー コントロールを登録しようとしています。ページ上でユーザー コントロールのビューステートをアンロードし、Web ページの非表示フィールドに保存しようとしています。

((HiddenField)(this.Page.FindControl("Hidden_LocationUC"))).Value = this.ViewState.ToString();

再びページをロードすると、非表示フィールドからのユーザー制御ロードが表示されますが、非表示フィールドにビューステートを保存できません。

this.ViewState = ((HiddenField)(this.Page.FindControl("Hidden_LocationUC"))).Value;

このコードはエラーになります。

4

1 に答える 1

0

ViewState はcollectionof 型StateBagであり、それを実行しようとするassignstringエラーが発生します。ビューステートコレクションにオブジェクトを追加して取得する必要がある代わりに、ページのビューステートを変更することは想定されていません。

文字列を ViewState に格納します。

ViewState["YourObjectName"] = "SomeValue";

ViewState から値を取得するには

string str = ViewState["YourObjectName"].ToString();

カスタム ViewState 管理に興味がある場合は、IStateManagerを使用できます

于 2012-12-27T06:49:38.743 に答える