从ViewState中解析和检索属性

本文关键字:检索 属性 ViewState | 更新日期: 2023-09-27 18:13:09

我正在开发一个web应用程序,我需要能够访问ViewState值并重新填充这些值的控件。我想利用现有的散列/存储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膨胀并降低页面性能,同时还会产生其他不利的副作用。