viewstatemode影响网站速度吗?看完这篇你就明白啦!

吉云

今天我来跟大家伙儿聊聊我在捣鼓*页面时遇到的一个东西——ViewStateMode。一开始我也搞不懂这玩意儿是干啥的,后来一边查资料一边自己动手试,总算是弄明白一些。

啥是ViewState?

先说说ViewState,这东西就像是网页的一个“记事本”,专门用来记下网页上那些控件的状态。比如说,你在一个文本框里输入点东西,或者在一个下拉列表里选某个选项,这些状态都会被ViewState悄悄记下来。这样,当你点击提交按钮或者做其他操作导致页面刷新后,这些控件还能保持之前的状态,不用你重新输入或选择,方便得很。

viewstatemode影响网站速度吗?看完这篇你就明白啦!

动手试试ViewStateMode

然后我就开始琢磨这个ViewStateMode。我先在一个.aspx页面上放一个Label控件和一个Button控件。然后,我在后台代码里给Label的Text属性赋个值,再把Button的Text属性也改改。

我在Page_Load事件里写几行代码,把ViewState保存到一个文本文件里。这样我就可以看看ViewState里到底记些

我发现每次点击按钮,ViewState的大小都会变。这说明ViewState确实在记录控件的状态变化。

ViewStateMode的三种模式

ViewStateMode有三种模式,分别是Enabled、Disabled和Inherit。我一个个试试:

viewstatemode影响网站速度吗?看完这篇你就明白啦!

  • Enabled:这是默认模式。控件会保存自己的ViewState,不管上一级的控件是啥设置。
  • Disabled:控件不会保存ViewState。就算上一级的控件设置Enabled也没用。
  • Inherit:控件会继承上一级控件的ViewStateMode设置。如果上一级是Enabled,那它也是Enabled;如果上一级是Disabled,那它也是Disabled。

我发现,把ViewStateMode设置成Disabled,ViewState的大小就不会变,因为控件的状态没被保存。

viewstatemode影响网站速度吗?看完这篇你就明白啦!

总结一下

通过这回实践,我算是搞明白ViewStateMode的用法。这东西可以用来控制控件是否保存ViewState,从而影响页面的性能。如果一个控件的状态不需要保存,那就可以把它的ViewStateMode设置成Disabled,这样可以减少ViewState的大小,让页面加载更快一些。具体怎么用还得看实际情况。多试试总是没错的!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]