Response.Redirect( ), Server.Transfer( ), Cross-Page Posting的区别

先说说Response.Redirect( )和Server.Transfer( ),的区别.这两种网页跳转的方法自ASP时代就已经存在.

 

执行过程:

1、浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址

2、浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件

切换对象:

1、Response.Redirect可以切换到任何存在的网页。

2、Server.Transfer只能切换到同目录或者子目录的网页。

数据保密:

1、Response.Redirect后地址会变成跳转后的页面地址。

2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。

传递的数据量(网址后附带的参数):

1、Response.Redirect能够传递的数据以2KB为限。

2、传递的数据超过2KB时,务必使用Server.Transfer。

ASP.NET Server.Transfer()是在两个页面之间进行传值的好方法,从A页面Transfer到B页面时,就可以在B页面通过Context.Handler获得A页面的一个类的实例,从而在B调用A的各个成员对象。

 

 

再说说跨网页公布(Cross-Page Post),这个是ASP.net 2.0新加入的功能:

 

1。可以将控件传递到目标网页(取代来源网页)

2。只重新导向与原来网页位于相同web应用程序下的网页

3。可以从来源网页读取值和公共信息。

4。不能用浏览器的“上一步”按钮返回到来源网页,否则可能产生无法预期的行为。

5。适合于用户看不到URL且浏览器的菜单栏被禁用的时候使用。

 

使用方法:

1。首先新建两个web form,分别为OFrom和DForm,代表来源网页和目标网页。

2。OForm中添加一个TextBox tb和一个Button bt,DForm中添加一个Label label。

3。将bt的PostBackUrl属性设置为DForm所在的页面。

4。在DForm的Page_Load事件中添加代码:

      TextBox textbox=(TextBox)PreviousPage.FindControl("tb");

      label.Text=textbox.Text;

      将来源页面中TextBox中的文本传递到目标页面的Label中。

 

PreviousPage属于Page类型,只能在Cross-Page Post中使用。在其他情况下不会被初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值