Asp实现页面跳转有三种方法

Asp实现页面跳转有三种方法,如下:   

(1)Response.Redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制,同时不能跳过登录保护。但速度慢是其最大缺陷!Redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。

   (2)  Server.Transfer 速度快,只需要一次postback ,但是,他必须是在同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。你可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,form认证,但如果跳转语句使用transfer的话,那就不会弹出登录页面了。这个方法的重定向请求是发生在服务器端,所以浏览器的url地址仍然保留的是原页面的地址!实现页面跳转的同时将页面的控制权进行移交 。页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据 。     

(3)  Sever.Execute 这种页面导航方式类似于针对ASPX页面的一次函数调用,被调用的页面能够访问发出调用页面的表单数据和查询字符串集合,所以要把被调用页面Page指令的EnableViewStateMac属性设置成False。默认情况下,被调用页面的输出追加到当前应答流。但是,Server.Execute方法有一个重载的方法,允许通过一个TextWriter对象(或者它的子对象,例如StringWriter对象)获取被调用页面的输出,而不是直接追加到输出流,这样,在原始页面中可以方便地调整被调用页面输出结果的位置。即 页面执行完毕之后重新回到原始页面发出Server.Execute()的位置。该方法允许当前页面执行同一个Web服务器上的另一个页面

posted on 2013-03-15 15:44  董珍  阅读(8264)  评论(0编辑  收藏  举报

导航