Asp.net网站重定向
来源:互联网 发布:手机统计表格软件 编辑:程序博客网 时间:2024/05/21 19:46
在Asp.net中,可以通过四种方法进行页面转向,分别是使用超链接、服务器端传输、浏览器重定向和跨页发送。
使用超连接
可以使用html中的<a>标签指定href属性或使用Hyperlink控件指定NavigateUrl属性跳转到指向的页面,而不进行页面回传。
服务器端传输
HttpServerUtility类的Transfer方法可以将.aspx或者.html页的URL作为字符串参数,回发给服务器。接着,终止运行当前页面,并开始请求新的页面。
Transfer方法的三个重载如下:
其中,bool类型的preserverForm参数表示,如果为true,则保留原来页面的QueryString和Form集合,默认为false。当需要将完整的控制传送到另一个页面时,这个重载非常有用,例如,我们在创建一个基于网络的,包括很多步骤的安装向导,并且需要根据用户上一步的选择答案,来排列多个不同的步骤,那么就可以使用server.Transfer重载方法,向相关页面传递完整的控制,并且保存安装向导中先前页面或者步骤的QueryString和Form集合。
Server.Transfer要求源页和目标页必须在同一个应用程序中,目标页可以访问源页的公共成员。
Server.Transfer方法不验证当前用户是否有权限查看目标页面。
当重定向到新页后,浏览器的地址栏中,还会显示原来页面的URL地址,浏览器的历史记录也不会显示这次跳转,所以,点击浏览器中的“后退”按钮可能会有意想不到的结果。
Server.Transfer方法从一个页面转到另外一个页面时,源页面的所有视图状态将丢失。
浏览器重定向
Redirct方法将.aspx或者.html页面的URL作为字符串参数,并且在客户端执行重定向。由于是一个新的服务器请求,所以它会强制完整的验证和授权。
在客户端请求带有Response.Redirect方法的页面时,服务器端返回给客户端浏览器的报文信息中,状态码是302,并且有一个location指定重定向的地址,浏览器就是根据这两个信息进行重新请求,如果是比较老的浏览器,那么在报文体中的HTML代码则可以提供用户一个手动转向的机会。
和Server.Transfer相比,Redirect方法最大的好处就是可以定向到外部网站。
Redirect有两个重载方法,如下图:
其中,bool类型的endResponse参数如果为true,则表示当前页面的执行被终止。
跨页发送
跨页发送就是通过设置特定控件(如Button)的PostBackUrl属性(所有实现IbuttonControl接口的控件),直接发送到另外一个页面,当然这种方法只能发送到另外一个.aspx页面,如果试图发送到一个.html页面,则会抛出一个异常。
在目标页,可以通过Page.PreviousPage访问前页的控件。
如果源页和目标页都在同一个应用程序中,那么它们可以共享会话和应用程序状态以及源页的公共成员。如果不在一个应用程序之内,那么目标页无法使用源页的数据。
了解页面是怎么来的?
可以通过Page类的两个属性:IsPostBack和IsCrossPagePostBack来了解页面是直接打开的,还是通过传输或者跨页打开的。
- Asp.net网站重定向
- asp.net 重定向
- ASP.NET重定向模块
- Asp.Net重定向过程
- 一例ASP.net 网站‘此网页包含重定向循环’解决方法
- ASP.NET页面的重定向
- ASP.NET URL重定向技术
- asp.net页面重定向方法小结
- asp.net中页面重定向
- asp.net页面重定向方法小结
- asp.net url 重定向技术
- asp.net页面重定向方法小结
- asp.net页面重定向方法小结
- ASP.NET页面重定向方法小结
- asp.net使用button做重定向
- ASP.NET页面的重定向
- ASP.NET(c#)实现重定向
- ASP.NET页面重定向方法小结
- [wp7游戏]wp7~~X-Box Live游戏~~集合贴~~
- directfb 学习记录。
- 定时自动启动任务crontab命令用法
- Android 系统 makefile文件(Android.mk)组织结构
- 本周计划(1st)
- Asp.net网站重定向
- 如何清除WEBLOGIC缓存
- java画图函数的用法
- commons-beanutils学习报告
- 写一个简单的batch批处理文件
- selenium-Installation
- The Importance of Health
- 孙鑫VC学习笔记:第四讲 MFC消息映射机制和CDC类的使用
- Android init 启动过程分析