易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET服务器控件之视图状态

ASP.NET服务器控件之视图状态
为Web页面及其控件保持状态信息是非常有必要的。然而,由于Web应用程序创建于HTTP协议的顶层,这是一个无状态的协议,因此,保持状态信息则变得非常困难。为了解决这个问题,ASP.net 2.0技术提供了多种解决方案,例如,利用Session、Cookie、视图状态、控件状态、隐藏域、查询字符串、个性化用户配置(Profile)等等。对于利用ASP.NET 2.0技术创建服务器控件而言,保持状态信息也是非常重要的,其主要解决途径是利用视图状态和控件状态。本文详细讲解了视图状态(ViewState)的基本知识,并通过典型应用介绍视图状态的应用方法。 
  视图状态概述 
  视图状态是一项非常重要的技术,它能使得页面和页面中的控件在从服务器到客户端,再从客户端返回的往返过程中保持状态信息。这样就可以在Web这种无状态的环境之上创建一个有状态并持续执行的页面效果。本节主要介绍有关视图状态的运行机制、应用方法、存储的数据类型、性能和安全性、视图状态分块(这是 ASP.NET 2.0的新特性)和优缺点等内容。 
  (1)运行机制 
  视图状态的具体运行过程为:每当用户请求某个.aspx页面时,.NET框架首先把相关控件的状态数据序列化成一个字符串,然后,将其做为名为__VIEWSTATE的隐藏域的Value值发送到客户端。如果页面是第一次被请求,那么服务器控件也将是被第一次执行时,名为__VIEWSTATE的隐藏域中只包含控件的默认信息,通常为空或者 null。在随后的回送事件中,ViewState中就保存了服务器控件在前面回送中可用的属性状态。这样服务器控件就可以监视在当前被处理的回送事件发生之前的状态了。这些过程是由.NET框架负责的,对用户来说是执行.aspx页面就有了持续执行的效果。 
  (2)存储的数据类型 
  视图状态可以存储多种类型的数据,并且为了提高运行效率,视图状态自身还包括一套已经优化的针对常用类型的序列化方式。视图状态序列化方式默认支持的数据类型包括以下几种:String、Int32、Unit、Color、Array、ArrayList、HashTable和自定义类型转换器 TypeConverter。 
  视图状态已经为Array、ArrayList和包含上面列出类型的HashTable对象进行了优化。因此,当在控件中使用视图状态时,应该试着限定于使用以上简单数据类型,以及经过优化的类型。在此,需要重点说明一下自定义类型转换器 TypeConverter,它提供了一种将


相关文档:

ASP.NET AJAX 服务器端编程学习小结

    最近开始了ASP.NET AJAX的全面学习。在服务端编程这块主要有几个服务器控件负责,他们分别为:ScriptManager,Timer,UpdatePanel,UpdateProgress.
     先来说说ScriptManager.它有个方法registerAsyncPostBackControl(控件),可以注册页面上的任何控件为异步传送按钮。还有个方法叫 ......

ASP.NET避免页面重新整理时重复发送...

我们可以继承 ASP.NET 的 Page 类别,自行扩充所需的功能!作法如下:
1、继承 System.Web.UI.Page,自订一个 BasePage 类别。
以下为引用的内容:
using
 System;   

  

/// <summary>
  

/// BasePage 的摘要描述
  

///&nbs ......

谨慎Asp.net中static变量的用法

谨慎Asp.net中static变量的用法
.Net技术 2007-01-30 22:17:37 阅读925 评论11 字号:大中小
谨慎Asp.net中static变量的用法
    在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是。这样非常方便,下一次调用某个 ......

《ASP.NET常用语句1 20条》

1.//弹出对话框.点击转向指定页面
Response.Write(" <script>window.alert('该会员没有提交申请,请重新提交!')
</script>"
;
Response.Write(" <script>window.location
='http://www.51aspx.com/bizpulic/upmeb.aspx' </script>"
;
2.//弹出对话框
Response.W ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号