`

Asp.net ViewState

    博客分类:
  • .Net
阅读更多

ASP.NET中的ViewState

    ViewState是ASP.NET中用来保存WEB控件回传时状态值一种机制.在WEB窗体(FORM)的设置为runat="server",这个窗体(FORM)会被附加一个隐藏的属性_VIEWSTATE._VIEWSTATE中存放了所有控件在ViewState中的状态值.

    ViewState是类Control中的一个域,其他所有控件通过继承Control来获得了ViewState功能.它的类型是system.Web.UI.StateBag,一个名称/值的对象集合.

    当请求某个页面时,ASP.NET把所有控件的状态序列化成一个字符串,然后做为窗体的隐藏属性送到客户端.当客户端把页面回传时,ASP.NET分析回传的窗体属性,并赋给控件对应的值.当然这些全部是由ASP.NET负责的.

    定义ViewState属性

    public int PageCount

    {

    get { return (int)ViewState["PageCount"]; }

    set { ViewState["PageCount"] = value; }

    }

    使用ViewState的条件

    如果要使用 ViewState,则在 ASPX 页面中必须有一个服务器端窗体标记 (<form runat=server>).窗体字段是必需的,这样包含 ViewState 信息的隐藏字段才能回传给服务器.而且,该窗体还必须是服务器端的窗体,这样在服务器上执行该页面时,ASP.NET 页面框架才能添加隐藏的字段.

    Page 的 EnableViewState 属性值为 true.

    控件的 EnableViewState 属性值为 true.

    提醒:

    1. 当存在页面回传时,不需要维持控件的值就要把 ViewState 禁止.

    2. ViewState的索引是大小写敏感的.

    3. ViewState不是跨页面的.

    4. 为了能包存在 ViewState 中,对象必须是可流化或者定义了 TypeConverter.

    5. 控件 TextBox 的 TextMode 属性设置为 Password时,它的状态将不会被保存在 ViewState 中,这应该是出于安全性的考虑.

    6. 在页面没有回传 或 重定向 或 在回传中转到(transfer)其他页面时不要使用 ViewState.

    7. 在动态建立控件时要小心它的 ViewState.

    8. 当禁止一个程序的 ViewState 时,这个程序的所有页面的 ViewState 也被禁止了.

    9. 只有当页面回传自身时ViewState 才是持续的.

    设置ViewState

    ViewState可以在控件,页,程序,全局配置中设置.缺省情况下 EnableViewState 为 true .如果要禁止所有页面 ViewState 功能,可以在程序配置中把 EnableViewState 设为 false .

分享到:
评论

相关推荐

    ASP.NET ViewState 初探

    ASP.NET ViewState 是一种机制,主要用于在Web应用的页面往返行程中保持用户界面(UI)的状态。由于Web的本质是无状态的,每次用户请求页面时,服务器都会创建一个新的页面实例,而ASP.NET页面也不例外。这就意味着...

    ASP.NET ViewState

    ASP.NET ViewState是一个重要的概念,它是ASP.NET框架为了保持页面在客户端和服务器端之间交互时的状态而引入的一种机制。状态管理是Web开发中的一个关键问题,因为HTTP协议本身是无状态的,每次请求都是独立的。...

    理解ASP.NET的ViewState

    ### 理解ASP.NET的ViewState #### 引言 ASP.NET ViewState是ASP.NET网页用于在PostBack(页面提交)之间持久化Web表单状态的一种技术。对于许多ASP.NET开发者而言,ViewState一直是令人困惑的主题之一。无论是创建...

    asp.net viewstat 查看器

    ASP.NET视图状态(ViewState)是ASP.NET框架中一个关键的概念,它用于在页面的多个生命周期之间持久化控件的状态信息。当一个Web应用程序在服务器端处理请求并回发到客户端时,ViewState允许数据在往返行程中保持...

    .net ViewState解码器

    ViewState是ASP.NET中的一种机制,用于在Web表单的多个Postback之间持久化控件的状态。它是.NET框架为保持Web应用程序状态而设计的关键组件。在ASP.NET Web表单的生命周期中,当用户提交表单时,ViewState数据会被...

    asp.net viewstate 回发机制

    ASP.NET视图状态(ViewState)是.NET框架中用于在页面回发过程中保持用户界面状态的一种机制。在Web开发中,由于HTTP协议的无状态性,每次客户端与服务器之间的交互都会导致页面状态丢失,除非采取某种手段来存储和...

    ViewState 代码查看器

    ViewState是ASP.NET框架中一种内置的状态管理机制,用于在页面回发过程中持久化控件的状态。它是一个服务器端的机制,允许Web表单在多个HTTP请求之间保持数据,而无需在客户端存储或重新发送这些数据。`ViewState ...

    ASP.NET常见问题集锦.zip

    ASP.NET ViewState 初探.doc ASP.NET Web 方法中的 XmlElement 参数的功能.d ASP.NET 中 Cookie 的基本知识.doc ASP.NET 页面对象模型.doc asp.net200问-专家门诊—ASP.NET开发答疑 ASP.NetWebPage深入探讨....

    ViewState 查看工具

    ViewState是ASP.NET web应用程序中一个重要的概念,它用于在页面之间持久化服务器控件的状态信息。当用户与网页交互时,比如填写表单或者选择下拉框,这些控件的状态通常需要在页面生命周期的不同阶段保持一致。...

    ASP.net压缩ViewState,ASP.net操作EXCEL,Word,ASP.net获得验证码,汉字验证码、扭曲验证码

    在这个主题中,我们主要关注五个关键知识点:ASP.NET中ViewState的压缩、操作Excel和Word、以及生成验证码,包括汉字验证码和扭曲验证码。 首先,我们来探讨ASP.NET中的ViewState压缩。ViewState是ASP.NET页面状态...

    asp.net页面中的viewstate内容解析器

    在ASP.NET中,ViewState是一种关键机制,用于在页面之间持久化控件的状态。当用户与网页交互时,比如填写表单或点击按钮,ViewState会存储这些交互信息,以便在后续的HTTP请求中恢复这些状态。 ViewState的内容是...

    ViewStateDecoder:Burpsuite扩展。 支持ASP.NET ViewStateDecoder

    总览此扩展是一个允许您显示ASP.NET的ViewState的工具。 注意,也可以使用命令行进行解码。 自v2020.3起,ViewState已隐藏在Burp套件中。 它旨在与Burp套件v2020.x或更高版本一起使用。 修复了现有Burp套件中...

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

    ASP.NET中的ViewState与Cache是两种重要的机制,它们在提升网页应用程序性能方面发挥着关键作用。 ViewState是ASP.NET中用于在页面回发(PostBack)过程中保持控件状态的一种机制。默认情况下,ASP.NET页面启用...

    基于ASP.NET的图书销售系统

    6. **状态管理**:由于HTTP协议无状态,ASP.NET提供了多种状态管理机制,如ViewState、Session、Cookie和Application等,以保持用户在不同请求之间的状态信息。 7. **安全性**:图书销售系统必须考虑安全性问题,如...

    .net 中viewstate的原理和使用

    下面是一个简单的示例,展示如何在ASP.NET页面中使用ViewState: **VB.NET:** ```vb ' 设置ViewState ViewState("SortOrder") = "DESC" ' 获取ViewState Dim SortOrder As String = CStr(ViewState("SortOrder")) ...

    ASP.NET完整项目源代码

    ASP.NET是一种由微软开发的服务器端Web应用程序框架,用于构建动态网站、 web 应用程序和 web 服务。本压缩包包含的是一个完整的ASP.NET项目源代码集合,提供了十个不同的项目示例,这对于学习和理解ASP.NET的工作...

    8个ASP.NET网站简单例子

    这个压缩包中包含的"8个ASP.NET网站简单例子"是针对初学者或者想要提升ASP.NET技能的人群准备的实践教程,通过这些实例,你可以深入理解ASP.NET的工作原理以及如何运用它来创建实际的网站。 1. **基本结构与页面...

    ASP.NET教程 ASP.NET教程

    ASP.NET 是微软公司推出的一种基于.NET Framework的服务器端编程模型,用于构建动态网站、Web应用程序和Web服务。这个教程将带你深入理解ASP.NET的核心概念和技术,帮助你掌握开发高效、可扩展的Web应用的技能。 在...

    ASP.NET 完整项目10个(C#)

    在这个ASP.NET 4.0 完整项目(10个)的压缩包中,你将找到一系列基于ASP.NET 4.0和C#的实践项目,这些项目可以帮助你深入理解和掌握ASP.NET的核心概念和技术。 1. **ASP.NET基础**:在这些项目中,你可以看到ASP...

Global site tag (gtag.js) - Google Analytics