b应用程序中时,允许目标页读取源页的公共属性.将控件传输到在源页位置呈现的新页中.仅重定向到与源页位于相同的Web应用程序中的目标页.使您能够从源页读取值和公共属性.不会用目标页的相关信息来更新浏览器信息.在浏览器中按"刷新"或"后退"按钮可能导致意外行为.用法用于将当前页的信息传递到目标页(与多页窗体相同).当
导航应该由用户控制时.用于条件导航,在需要控制何时导航和需要访问源页的上下文时使用.该选项最适合在对用户隐藏URL的情况下使用.
Demo
跨页投递
–代码
演示–按(Ctrl+H在窗口模式和全屏模式之间切换)
什么是缓存?
通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.例如,如果应用程序使用复杂的逻辑来处理大量数据,然后再将数据作为用户频繁访问的报表返回,避免在用户每次请求数据时重新创建报表可以提高效率.
ASP.NET使用两种基本的缓存机制来提供缓存功能
–页输出缓存:它保存页处理输出,并在用户再次请求该页时,重用所保存的输出,而不是再次处理该页.–应用程序缓存:它允许您缓存所生成的数据,如DataSet或自定义报表业务对象
页输出缓存
什么是页输出缓存?
–页输出缓存在内存中存储处理后的ASP.NET页的内容.这一机制允许ASP.NET向客户端发送页响应,而不必再次经过页处理生命周期.页输出缓存对于那些不经常更改,但需要大量处理才能创建的页特别有用.例如,如果创建大
通信量的网页来显示不需要频繁更新的数据,页输出缓存则可以极大地提高该页的性能.–提供了两种页缓存模型
整页缓存:允许将页的全部内容保存在内存中,并用于完成客户端请求部分页缓存:允许缓存页的部分内容,其他部分则为动态内容
如何实现页输出缓存?
以声明方式设置页的可缓存性
Any,Client,Downstream,Server,ServerAndClient或None
<%@OutputCacheDuration="60"VaryByParam="None"Location="Any"%>
使用缓存配置文件以声明方式设置页的可缓存性
<%@OutputCacheCacheProfile="Cache30Seconds"%>
如何实现页输出缓存?
以编程方式设置页的可缓存性
Response.Cache.SetCacheability(HttpCacheability.Public);
成员名称Any说明输出缓存可位于产生请求的浏览器客户端,参与请求的代理服务器(或任何其他服务器)或处理请求的服务器上.此值对应于HttpCacheability.Public枚举值.输出缓存位于产生请求的浏览器客户端上.此值对应于HttpCacheability.Private枚举值.输出缓存可存储在任何HTTP1.1可缓存设备中,源服务器除外.这包括代理服务器和发出请求的客户端.对于请求的页,禁用输出缓存.此值对应于HttpCacheability.NoCache枚举值.输出缓存位于处理请求的Web服务器上.此值对应于HttpCacheability.Server枚举值.输出缓存只能存储在源服务器或发出请求的客户端中.代理服务器不能缓存响应.此值对应于HttpCacheability.ServerAndPrivate.
Client
Downstream
NoneServerServerAndClient
使用文件依赖项缓存页输出
有时候,您可能需要在文件发生更改时从输出缓存中移除某一页.例如,您可能有这样一页:该页从生成XML文件作为输出且占用大量进程的
报告中获取其内容.仅当XML文件发生更改时,才需要重新处理该页.要将重新处理限制为仅在需要的时候进行,可以使页的缓存策略依赖于单个文件.如有必要,可以使缓存页依赖于多个文件.
protectedvoidPage_Load(objectsender,EventArgse){stringfileDependencyPath=Server.MapPath("TextFile1.txt");Response.AddFileDependency(fileDependencyPath);//Setadditionalpropertiestoenablecaching.Response.Cache.SetExpires(