0

我正在尝试在网页中注册用户控件,并在页面上卸载用户控件的视图状态保存在网页的隐藏字段中。

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

当再次加载页面时,用户控件从隐藏字段加载,但我无法将视图状态存储在隐藏字段中。

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

此代码导致错误。

4

1 回答 1

0

ViewState 是一种collection类型StateBag,您正在尝试assign使用string它,这会导致错误。您不应该更改页面的视图状态,而是需要在视图状态集合中添加和获取对象。

在 ViewState 中存储一个字符串。

ViewState["YourObjectName"] = "SomeValue";

从 ViewState 中检索值

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

如果您对自定义 ViewState 管理感兴趣,可以使用IStateManager

于 2012-12-27T06:49:38.743 回答