ASP.NET ViewState 简介
ASP.NET ViewState 是一种新的状态服务,可供开发人员基于每个用户来跟踪 UI 状态,该辅助数据被存储在一个名为 __VIEWSTATE 的隐藏字段中。
当然, ViewState 在 ASP.NET 中有个重要的角色。如果使用恰当,它能够简化页面开发,改进用户与站点的交互。如果置之不理,它能够显著增加站点响应大小,在连接速度慢的情况下,使您的响应时间更加缓慢。因为浏览器的每次回发都会导致ViewState 逐渐增加您的页面大小,从而导致性能问题。因此,ASP.NET 2.0 的发布带来了 ViewState 机制的一些改进,这使得 ViewState 使用更简单,又不会防碍站点性能。这些改进包括:减少编码数量,采用控件状态从内容中分离出行为状态,以及智能集成数据绑定控件。你可以在不需要维护控件状态的情况下通过禁用的控件(EnableViewState = false )解决这个问题。 然而,很多情况下保持控件的状态是必需的,压缩的ViewState有助于提高性能。
下载示例项目。
ASPNET_ViewState.rar 34KB.
方法一:使用System.IO.Compression
System.IO.Compression 命名空间包含提供基本的流压缩和解压缩服务的类。
此命名空间包含2个类分别为:
DeflateStream 提供用于使用 Deflate 算法压缩和解压缩流的方法和属性。
GZipStream 提供用于压缩和解压缩流的方法和属性。
在下面的演示代码中,我们创建一个ViewStateCompression类,包含2个方法,并都返回byte[]数据:
1.GZipStream版的压缩/解压缩
namespace ASPNET_ViewState.Code {
public class ViewStateCompression {
public ViewStateCompression() {
//
// TODO: Add constructor logic here
//
}
// 压缩
public static byte[] Compress( byte[] data ) {
MemoryStream output = new MemoryStream();
GZipStream gzip = new GZipStream( output,
CompressionMode.Compress, true );
gzip.Write( data, 0, data.Length );
gzip.Close();
return output.ToArray();
}
// 解压缩
public static byte[] Decompress( byte[] data ) {
MemoryStream input = new MemoryStream(
相关文档:
ASP.NET 页面事件执行顺序 收藏
过程描述
下面是ASP.NET页面初始的过程:
1. Page_Init();
2. Load ViewState;
3. Load Postback data;
4. Page_Load();
5. Handle control events;
6. Page_PreRender();
7. Page_Render();
8. Unload event;
9. Dispose method called;
下面对其中的一些过程作下描述:
1. Pa ......
ASP.NET 中的设计模式之MVC篇
ASP.NET
中的设计模式之
MVC
篇
设计模式
MVC
页面控制器
模板与
Page
基类
设计模式
软件开发中,软件复用和团队协作都一直是最为人们关注的重要问题之一。有趣的是,这两个似乎属于软件工程范畴的问题都有一个共同的技术方面的解决之道:设计模式。
  ......
看到有人提问一个空间支持多个网站的问题。
总结一下:
最好保证各个项目app_code内的文件都是一样的。
因为生成多个项目必定生成多个App_Code.dll,
由于所有dll放在同一个bin目录,所以要保证app_code内的文件一样。
发布前所有项目aspx文件的 Inherits="menulefttb" 中的名字不能相同。
将每个项目发布后生成的dll ......
asp.net在开发时,在不同的页面间跳转是我们常遇到的一件事,当一个复杂的逻辑在一个页面放不下分成二个或多个页面处理就需要在页面间跳转,用的最多还是用户的登陆吧.
ASP.NET用的最多的跳转是Response.Redirect,这个命令可以直接把请求重定向到一个相对或绝对的路径.它会把当前页面的的Http流阻断直接重定向到新的U ......