`
bulote
  • 浏览: 1353820 次
文章分类
社区版块
存档分类
最新评论

禁用ViewState

 
阅读更多

ViewState 是什么?

<wbr></wbr>

1 ViewState 用来跟踪和保存控件的状态信息。否则这些信息可能会丢失,原因可能是这些值不随着 form 回

<wbr> 发,或者根本就不在 page 的 html 中。<br> 2 ViewState 中保存着代码中改变的控件属性,通过代码绑定到控件的任何数据,以及由用户操作触发,回发的</wbr>

<wbr> 任何更改。<br> 3 ViewState 还提供了一个状态包(StateBag), 这是一个特殊的集合或字典(collection or dictionary), 可以</wbr>

<wbr> 用来保存,通过一个 key 来恢复任意的对象或者值。</wbr>

<wbr></wbr>

ViewState 的格式

<wbr></wbr>

1 保存在表单中的 __VIEWSTATE 隐藏字段。是 Base64 编码过的,而不是加密!
2 但要加密也是可以的(设置 enableViewStateMac 来使用 machine key 进行 hash)
3 加密:设置 machineKey 验证, 但这必须在机器级别设置,需要更多的资源,所以不推荐。

<wbr></wbr>

ViewState 的一个小用法

像session.是会话级别的.只要会话没有过期.session中存的数据就在.viewstate是页面级别的.只要这个页面

在.viewstate中存的数据就在.就是说viewstate中存的数据只能在声明该变量的页面中使用.
比如在某页的page_load中声明了:ViewState["test"]="aaa";那么在该页中的任何一个方法中都可以使用

ViewState["test"]来直接得到值"aaa".

<wbr></wbr>

<wbr></wbr>

什么情况下可以禁用ViewState?

<wbr></wbr>

我们知道,asp.net默认情况下是启用viewState的,这样会在页面中生成冗长的隐藏字段。

ViewState对于需要postback操作的页面才有用(即产生交互的页面)!

那么对于只需要展示的页面,完全没有必要使用viewstate!

<wbr></wbr>

禁用方式

1 页面整体禁用:顶部的Page中EnableViewState=false

2 指定控件禁用:控件中EnableViewState=false

<wbr></wbr>

注意点

需要我们注意的是,我们禁用了页面的ViewState以后,并没有完全去掉页面的ViewState,但页面的ViewState的长度会小很多。

如果要求页面完全不存在ViewState,则不能出现ruant=server的form。

如果Button没有放到<form ruant="server"></form>中,则这个按钮时不可用的!

部分内容参考子《你必须知道的.NET》

分享到:
评论

相关推荐

    asp.net 禁用viewstate在web.config里

    在某些场景下,例如轻量级的应用或者不需要状态保持的页面,禁用ViewState是明智的选择。 标题所提及的"asp.net 禁用viewstate在web.config里",指的是在全局级别禁用整个应用程序中的ViewState,而不是单独在每个...

    理解ASP.NET的ViewState

    对于不需要状态持久化的控件或页面,可以禁用ViewState以减少网络传输量。这可以通过设置控件或页面的`EnableViewState`属性为`false`来实现。 #### 指定ViewState的持久化位置 除了默认的隐藏表单字段之外,还可以...

    ASP.NET ViewState 初探

    禁用ViewState可以通过在页面指令`@Page`中设置`EnableViewState="false"`实现,或者针对特定控件设置`EnableViewState="false"`。 需要注意的是,启用ViewState会增加页面的大小,因为ViewState数据会随页面一起...

    .net 中viewstate的原理和使用

    但需要注意的是,并非所有控件都支持禁用ViewState。 #### 使用ViewState存储数据 在实际开发过程中,ViewState还可以被用来存储数据。具体来说,可以通过以下几种方式操作ViewState: - 设置数据:`ViewState...

    ViewState查看工具

    5. **控制ViewState**:ASP.NET提供了多种方式来管理ViewState,如在控件级别禁用ViewState,使用ViewStateMode属性,或者全局禁用然后按需启用。开发者可以通过工具来检查这些设置的效果。 6. **安全性考量**:...

    Session,ViewState用法

    3. **禁用ViewState:** ```xml ``` ##### ViewState的注意事项: - **性能:** ViewState会增加页面的大小,尤其是在包含大量控件的页面上。可以通过压缩或优化来减轻这一问题。 - **安全性:** 默认情况下,...

    viewstate压缩算法源码

    在某些情况下,完全禁用ViewState或使用其他方法(如Session或QueryString)来管理状态可能是更优的选择。 综上所述,理解并应用ViewState压缩算法对于优化ASP.NET web应用程序的性能至关重要。开发者需要根据具体...

    ASP.NET状态管理(Cookies,Session,ViewState,Application...)

    如果不需要控件状态保持,可以禁用ViewState来优化性能。 **Application** Application是全局共享的存储区域,用于在整个应用程序生命周期内存储数据。所有用户都可以访问Application中的数据,适合保存需要跨多个...

    禁止ViewState的3种解决方法

    因此,根据实际情况,如果不需要保持状态或者可以采取其他措施保持状态,可以考虑禁用ViewState,以节省资源并提高性能。 禁用ViewState可以通过以下三种方法实现: 1) 控件级别的禁用:如果只需要对页面中的某个...

    viewStateDecoder2.0

    5. 何时不使用ViewState:对于不需要跨请求保留状态的控件,可以禁用ViewState以减少页面大小。例如,只读的数据显示控件通常不需要ViewState。 6. ViewState安全性:虽然ViewState是加密的,但并非完全安全。恶意...

    ViewStateDecoder21

    4. 学习如何禁用或部分禁用ViewState以优化网页性能。 总之,`ViewStateDecoder21`为ASP.NET开发者提供了一个深入理解ViewState工作方式的工具,有助于提高开发效率和应用安全性。在实际开发中,合理管理和使用...

    asp.net viewstat 查看器

    3. **控制ViewState**:通过查看器,开发者可以决定哪些控件应该禁用ViewState,以减小页面传输的数据量。 4. **提高性能**:了解哪些数据不必要地存储在ViewState中,可以进行优化,减少服务器负载和网络传输时间。...

    ASP.Net中控件的EnableViewState属性优化

    - **应用程序级别**:如果需要在所有页面上都禁用Viewstate,可以在Web.config文件中设置`EnableViewState="false"`。 ```xml ``` #### 5. 使用技巧与注意事项 - 在决定禁用某个控件的Viewstate之前,...

    ViewState和回发

    现在,让我们深入探讨一下这个问题,特别是为什么某些Web控件即使在禁用ViewState后仍能保留值。 首先,我们需要理解回发的工作原理。在ASP.NET Web Forms中,当用户与页面上的按钮或其他交互元素交互时,整个HTML...

    asp.net开发问题300问源码

    38.如何启用和禁用ViewState保存状态信息的功能 39.如何应用IsPostBack控制页面的加载 41.如何使用Trace对象进行跟踪调试(页面级) 42.如何使用#Include语法将文件添加到页面 43.如何使用编程的方式处理异常信息 ...

    ASP.NET笔记之 viewstate与cache的使用

    然而,对于只展示静态内容的页面,如新闻展示页,禁用ViewState可以减少页面大小,提高加载速度。禁用ViewState有两种方式:一是全局禁用,通过在Page指令中设置EnableViewState="False";二是针对特定控件禁用,...

    网站优化方法总结

    此外,通过在页面级别或控件级别设置`EnableViewState`属性为`false`,可以全局禁用ViewState,进一步降低页面传输的开销。 综上所述,网站优化不仅涉及到数据库层面的操作优化,还包括数据读取方式的选择、数据...

    asp.net mvc性能优化

    禁用ViewState(`&lt;pages enableViewState="false"&gt;`)可以显著减少页面大小,提升性能。 7. **禁用发布证据生成**: `&lt;runtime&gt;&lt;generatePublisherEvidence enabled="false"/&gt;`可以防止.NET Framework在验证程序集...

Global site tag (gtag.js) - Google Analytics