从ViewState中解析和检索属性
本文关键字:检索 属性 ViewState | 更新日期: 2023-09-27 18:13:09
我正在开发一个web应用程序,我需要能够访问ViewState值并重新填充这些值的控件。我想利用现有的散列/存储ViewState值,而不是创建自定义ViewState值。
我如何去检索值/属性从一个页面的ViewState为特定的控件?
任何见解都是赞赏的。谢谢!
下面的博客似乎很有帮助。我非常同意"真正理解ViewState"这个标题
有一个很好的例子,你可以从web控件继承和访问他们的道具
像这样短?
private string GetValue
{
get
{
string result = string.empty;
if (ViewState["someID"] != null)
{
result = (string)ViewState["someID"];
}
return result;
}
set
{
ViewState["someID"] = value;
}
}
. NET已经利用ViewState来持久化控件值,并在回发后重新填充它们,所以如果这就是你想要的,你不需要触摸ViewState。如果你需要在ViewState中存储无关的信息,你可以在ViewState中获取和设置数据,就像你在任何其他键/值集合中一样:
//store value in viewstate
ViewState["someValue"] = "Foo";
//retrieve value from viewstate
string someValue = ViewState["someValue"].ToString();
上面只是一个简单的例子,但是你可以在ViewState中存储几乎任何东西。也就是说,您不应该使用ViewState来存储大型对象,如结果集等。ViewState被编码并存储在页面中,大型对象会迅速使ViewState膨胀并降低页面性能,同时还会产生其他不利的副作用。