从ViewState解析和检索属性?

时间:2011-11-03 15:17:04

标签: c# asp.net

我正在开发一个Web应用程序,我需要能够访问ViewState值并使用这些值重新填充控件。我想利用现有的散列/存储的ViewState值,而不是创建自定义的ViewState值。

如何从页面的ViewState中检索特定控件的值/属性?

任何见解都表示赞赏。 谢谢!

3 个答案:

答案 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;
        }
    }