需要了解ViewState属性代码

时间:2016-10-18 05:13:45

标签: c# viewstate

我无法理解这段代码的含义。为什么我们使用viewstate以及我需要在这里使用viewstate的目的。我是这个地区的新手。请帮助我理解每行代码。

   public int ParentPageVSValue
  {
    get
    {
        if (ViewState["_ParentPageVSValue"] != null)
            return int.Parse(ViewState["_ParentPageVSValue"].ToString());
        else
            return 0;
    }
    set
    {
        ViewState["_ParentPageVSValue"] = value;
    }
}

2 个答案:

答案 0 :(得分:2)

  

查看国家在生活中的目的很简单:它是坚持国家的目的   跨回发。 (对于ASP.NET网页,其状态是属性   构成其控制层次结构的控件的值。)

我建议你阅读整篇文章Understanding ASP.NET View State

ViewState属性

  

每个控件负责存储自己的状态,即   通过将其更改的状态添加到其ViewState属性来完成。   ViewState属性在System.Web.UI.Control类中定义,   意味着所有ASP.NET服务器控件都具有此属性。   如果你   检查您将看到的任何ASP.NET服务器控件的简单属性   该属性直接读取和写入视图状态。例如,考虑HyperLink Web   控制的NavigateUrl属性。此属性的代码如下所示   这样:

public string NavigateUrl
{
    get
    {
       string text = (string) ViewState["NavigateUrl"];
       if (text != null)
          return text;
       else
          return string.Empty;
    }
    set
    {
        ViewState["NavigateUrl"] = value;
    }
}

视图状态的外观,它被添加为页面html中名为__VIEWSTATE的隐藏字段: View State

解码后的视图状态如何显示:

View State decoded

因此,在您的情况下,您创建一个在视图状态中保存int值的属性(html中的隐藏字段)。之后,您可以从相同的隐藏字段中检索它。

答案 1 :(得分:0)

视图状态可以存储回发期间必须保留的值。

视图状态提供特定ASP.NET页面的状态信息。如果您需要在多个页面上使用信息,或者您需要在访问网站时保留信息。

建议您浏览this帖子以获取更多信息。