指示是否在页请求之间保持视图状态。如果要保持视图状态,则为 true;否则为 false。默认值为 true。以上为官方对 EnableViewState 的解释,有些难懂,我们以示例的方式解释,我们创建一个 Web Form,并添加一个 ListBox、一个 Button、一个方法。程序代码<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">void AddItem(object sender, EventArgs e){list.Items.Add(DateTime.Now.Ticks.ToString());}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title>EnableViewState 属性</title>
</head>
<body><form id="form1" runat="server"><div><asp:ListBox ID="list" runat="server"><asp:ListItem Text="EnableViewState 属性" Value="1"></asp:ListItem></asp:ListBox><asp:Button ID="btn" runat="server" Text="追加一个 Item" OnClick="AddItem" /></div></form>
</body>
</html>
在浏览器中访问该网页,得到 HTML 源文件中如下内容:<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTIyNTcyODQzNWRkKV9J6dx90HkLpaqCRtS3s4xsNnc=" />
这个 hidden 框存储的是各个控件的属性值与状态,比如 ListBox 的 Text、Value、Selected 等,这也是为什么在 ASP.NET 里,可以在服务器端获得列表的 Text 值的原因。开始实验现在点击按钮,服务器端将执行 AddItem 方法,ListBox 中的内容也随之增多,查看 HTML 源文件中的“__VIEWSTATE”也随之增多 。关于 DateTime 请参见 ASP.NET 时间操作。再次实验现在我们修改 ListBox 的 EnableViewState 属性为 false。<asp:ListBox ID="list" runat="server" EnableViewState="false">
再次点击几下按钮,我们可以发现,之前点击按钮添加的 Item 都不见了,现在每次点击按钮,ListBox 中都只有两个 Item,一个为静态指定的,一个是通过 AddItem 方法添加的。这是由于 ListBox 的内容没有通过“__VIEWSTATE”传送到服务器端,服务器端不知道 ListBox 之前还动态添加的有内容。注意观察,添加的数字并不相同,这说明每次点击都执行了 AddItem 方法,而不是有些文章所说的,使用 EnableViewState="false" 时方法只执行一次,方法是每次都执行,只是由于没有获得之前动态添加(编辑、删除)后的内容,所以只有最新添加(编辑、删除)的内容。总结EnableViewState 指定是否向服务器端传送某(些)控件的属性值、状态。EnableViewState 的默认值为 true,设置为 false 可以降低数据传送量,当然应该在程序逻辑允许设置为 false 的情况下。EnableViewState 可用于控件,也可用于 @ Page、@ Control、@ Master 指令语法。当控件的 EnableViewState 的设置与指令语法的设置不一致时,取 false 值。

EnableViewState属性相关推荐

  1. C#中EnableViewState属性有什么用?

    EnableViewState 属性 指示是否在页请求之间保持视图状态.如果要保持视图状态,则为 true:否则为 false.默认值为 true. 以上为官方对 EnableViewState 的解 ...

  2. GridView 类型公开的所有成员(公共属性、公共方法、私有属性.......)

    下表列出了由 GridView 类型公开的成员. 公共构造函数   名称 说明 GridView 初始化 GridView 类的新实例. 页首 公共属性 (请参见 受保护的属性 )   名称 说明 A ...

  3. ASP.NET中的AutoPostBack和IsPostBack以及EnableViewState三者的运用以及区别

    相信大家都在开始学ASP.NET的时候都会被它里面的几个属性搞得晕头转向,本文向各位学者介绍AutoPostBack和IsPostBack以及EnableViewState三者的运用以及区别,话不多说 ...

  4. Session,ViewState用法

    Session,ViewState用法 基本理论: session值是保存在服务器内存上,那么,可以肯定,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面隐 ...

  5. 搜集《ASP.NET中常用的26个优化性能方法》

    1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接 ...

  6. 微软图表控件MsChart

    转自:http://tech.ddvip.com/2008-11/122640479791375.html 昨天在网上看到了微软发布了.NET 3.5框架下的图表控件,第一时间抓下来看了一下,发觉功能 ...

  7. asp.net程序性能优化的七个方面

    asp.net程序性能优化的七个方面 一.数据库操作 1.用完马上关闭数据库连接 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器 ...

  8. ASP.NET ViewState 初探

    Susan Warren Microsoft Corporation 与刚接触 ASP.NET 页面的开发人员交谈时,他们通常向我提出的第一个问题就是:"那个 ViewState 到底是什么 ...

  9. 只在必要时保存服务器控件视图状态

    自动视图状态管理是服务器控件的功能,该功能使服务器控件可以在往返过程上重新填充它们的属性值(您不需要编写任何代码).但是,因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器,所以该功能确实会对性能 ...

  10. 自定义控件的构建(5)

    Share 在ASP.NET框架中支持在回传中保存值的有2种方式:视图状态和控件状态 视图状态 ASP.NET中几个对象属性与控件最为密切的,就是ViewState了. 这里对其做下说明,任何可序列化 ...

最新文章

  1. 从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!
  2. 2014-02-26_javascript_event
  3. 52 个深度学习目标检测模型汇总,论文、源码一应俱全
  4. Python地信专题 | 基于geopandas的空间数据分析-坐标参考系篇
  5. python开发sqlite3完整_让Python更加充分的使用Sqlite3-阿里云开发者社区
  6. 关于支付回调的一些思考
  7. 计算机应用技术爱岗敬业,高职专业人才培养方案(计算机应用技术).doc
  8. CALayer的属性和使用
  9. 今日恐慌与贪婪指数为92 贪婪程度与昨日持平
  10. Nginx内置模块简介
  11. 海南省月降水量分布数据
  12. Qt5,信号槽关联错误
  13. HashSet、TreeSet、LinkedHashSet的区别
  14. 2dx cound not find libcocos2dcpp.so
  15. 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
  16. 最佳阵容 | Flutter Firebase 插件更新
  17. 如何禁止win7自动锁屏
  18. 企业抖音号怎么运营矩阵?运营有何技巧?
  19. Unity个人笔记之碰撞检测失效
  20. 计算机专业简历教育背景怎么写,简历中教育背景怎么写?填写教育背景注意事项...

热门文章

  1. 程序员常用字体(vs字体修改方案)
  2. Notepad++下载
  3. jsp在线编辑器|PHP在线编辑器|asp在线编辑器|.net在线编辑器|asp.net在线编辑器|在线Word编辑器
  4. 中国教育行业市场行情动态及投资潜力研究报告(2022-2028年)
  5. 《超越自卑的活法Live》内容整理
  6. 英文顺序:第一~第N
  7. 【Linux】下载暂停后如何恢复
  8. 卸载神器:geek(绝对好用,中国人不骗中国人)
  9. Excel VBa 连接Oracle数据库
  10. Properties 类的详细使用(十三)