我正在开发一个Web应用程序,我需要能够访问ViewState值并使用这些值重新填充控件。我想利用现有的散列/存储的ViewState值,而不是创建自定义的ViewState值。
如何从页面的ViewState中检索特定控件的值/属性?
任何见解都表示赞赏。 谢谢!
答案 0 :(得分:2)
以下Blog似乎有帮助。我真的同意“真正理解ViewState”的标题
有一个很好的例子,你可以从webcontrol继承并访问他们的道具。
答案 1 :(得分:0)
ASP.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并降低页面性能,以及其他不良副作用。
答案 2 :(得分:0)
private string GetValue
{
get
{
string result = string.empty;
if (ViewState["someID"] != null)
{
result = (string)ViewState["someID"];
}
return result;
}
set
{
ViewState["someID"] = value;
}
}