• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
光脚丫思考的专栏
十年窗下无人问,一举成名天下知!
博客园    首页    新随笔    联系   管理    订阅  订阅

[代码]服务器端的隐藏重定向

重点总结
在ASP.NET中要想实现网页的重定向,可以通过以下4种方式来实现:
1、通过超链接重定向。
2、使用跨页面发送技术重定向网页。
3、通过浏览器编程重定向网页。
4、通过服务器重定向网页。

本示例演示的是第四种重定向方式。
也就是调用Server.Transfer()方法进行重定向。它和Response.Redirect()方法的区别就是重定向的操作是在服务器上悄悄完成的。
怎么知道呢?
可以通过调用这两个方法之后,浏览器地址栏有没有发生改变来进行区别。
调用Response.Redirect()之后,浏览器的地址被更新为由Redirect()方法的参数指定的URL;
也就是说,重定向是浏览器自己完成的,虽然这命令是由服务器下达的。但是,浏览器清楚知道网页已经重定向了。
而调用Server.Transfer()之后,浏览器的地址并未更改,但是网页的内容早已经不是源页的内容了。
也就是说,服务器重定向了,但浏览器不知道。

示例代码
本演示代码,通过单击源页上的重定向按钮,服务器端调用Server.Transfer()将网页重定向到名为Another.aspx的页面。
演示代码中使用的是包含了Boolean参数的Transfer()重载方法。
此Boolean参数的作用是指示是否保留页的查询字符串和窗体的数据,保留则为true,不保留则为false。
你也可以使用Transfer()的另外一个只需要提供重定位的URI的重载方法。

protected void TransferButton_Click(object sender, EventArgs e)
{
    this.Server.Transfer("Another.aspx", true);
}
posted @ 2010-11-09 14:04  光脚丫思考  阅读(1407)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3