Asp 6种页面转向方法
asp.net 页面转向方法其实就是两种
服务器端转向和客户端转向
客户端转向实质上是指由浏览器直接向服务器端重新发送一个请求。
而服务器端转向是指服务器内部进行页面的跳转。
服务器端转向和客户端转向有以下几个区别
1.客户端转向转向以后ie浏览器的地址栏会发生变化,但是服务器端转向以后,ie浏览器的地址栏不变,ie浏览器并不知道页面已经跳转。
2.客户端转向前后两个页面是不同的请求,但是服务器端转向确是共用一个请求的。
<a>标签 hyperlink控件 response.redirect()方法以及response.write("<script language=javascript>history.go(-2);</script>)
都属于客户端转向
server.transfer()方法和server.execute()方法都属于服务器端转向
[一]、<a>标签
1. <a href=”test.aspx”></a>
2. 这是最常见的一种转向方法;
[二]、hyperlink控件
1. asp.net 服务器端控件 属性navigateurl指定要跳转到的url地址
2. navigateurl是可以在服务器端使用代码修改,这个区别于<a>
3. 由于hyperlink本身没有事件所以要在服务器端其它事件中设置navigateurl
4. 代码示例
<asp:hyperlink id=”hyperlink” runat=”server” navigatoeurl=”test.aspx”>ok</asp:hyperlink>
[三]、response.redirect()方法
1. 过程:发送一个http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。
2. 页面跳转之后内部控件保存的所有信息丢失,当a跳转到b,b页面将不能访问a页面提交的数据信息。
3. 使用这个方法使用这个方法跳转后浏览器地址栏的url信息改变
4. 可以使用session cookies application等对象进行页面间的数据传递
5. 重定向操作发生在客户端,总共涉及到两次与web服务器的通信:一次是对原始页面的请求
[四]、
response.write("<script language=javascript>history.go(-2);</script>)
response.write("<script language=javascript>history.back();</script>)
[五]、server.transfer()方法
1. 实现页面跳转的同时将页面的控制权进行移交
2. 页面跳转过程中request session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
3. 跳转之后浏览器地址栏的url不变
4. 这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
[六]、server.execute()方法
1. 该方法允许当前页面执行同一个web服务器上的另一个页面
2. 页面执行完毕之后重新回到原始页面发出server.execute()的位置。
3. 这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合
4. 被调用页面的page指令的enableviewstatemac属性设置为false
注:
1。server.execute和server.transfer视乎你怎么用,通常调用之前都应该response.clear()清除之前的输出,调用之后response.flush()和response.end()结束处理。.
2。hyperlink对比a的最大好处是支持resolveurl。a其实也可以runat="server",虽然感觉有点怪,但至少可以在服务器端对它进行一般控件都
能进行的赋值和数据绑定操作,然而resolveurl则是它布局别的,如果要用"~/default.aspx"这样的路径则最好用hyperlink。
话题相关:
1. 为了确保html输出的合法性 最好使用response.redirect方法;因为server.execute或者server.transfer方法返回给客户端的页面包含多个<html><body>标记,不是合法的html页面,在非ie浏览器中可能会发生错误。
2. 由于server.transfer在服务器端执行重定向,所以避免了不必要的网络通信,从而获得了更好的性能和浏览效果
搜索此文相关文章:Asp 6种页面转向方法
此文链接:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%8E%92%E8%A1%8C%E6%A6%9C/1917.shtml
转载请注明出处:Asp 6种页面转向方法 - 博客园
Asp 6种页面转向方法的更多相关文章
- CSS——三种页面引入方法
目的:为了把样式和内容分开,并且使网页元素更加丰富,引入了CSS CSS页面引入有三种方式: 1)内联式:比较不常用,因为内容和样式仍然在一起,不方便.示例: <!DOCTYPE html> ...
- ASP.NET 实现伪静态网页方法
方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服务器根 ...
- 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...
- asp页面快速找到菜单按钮转向的页面的方法
asp页面快速找到菜单按钮转向的页面的方法: 鼠标放在按钮上,右键属性即可查看
- c#ASP.NET中页面传值共有这么几种方式
一.目前在ASP.NET中页面传值共有这么几种方式: 1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在 ...
- 详细介绍ASP.NET页面重定向方法
ASP.NET中页面重定向的使用的很频繁,实现方法也有不同,自己也试过几种,现在总结一下. 一.Transfer Execute Redirect重定向方法介绍 1.Server.Transfer方法 ...
- Asp.net禁用页面缓存的方法总结
1.在Asp页面首部<head>加入 复制代码 代码如下: Response.Buffer = True Response.ExpiresAbsolute = ...
- javascript refresh page 几种页面刷新的方法
Javascript刷新页面的几种方法:1 history.go(0) 2 location.reload() 3 location=location 4 location.a ...
- asp.net传多个值到其它页面的方法
网站开发中,在页面之间的跳转,经常会用到传值,其中可能会传递多个值. 一.CommadArgument传多个值到其他页面. 像Gridview dataList repeater等数据绑定控件中,可以 ...
随机推荐
- logstash-input-jdbc实现mysql 与elasticsearch实时同步(ES与关系型数据库同步)
引言: elasticsearch 的出现使得我们的存储.检索数据更快捷.方便.但很多情况下,我们的需求是:现在的数据存储在mysql.oracle等关系型传统数据库中,如何尽量不改变原有数据库表结构 ...
- 通过winrm使用powershell远程管理服务器
原文地址 在Linux中,我们可以使用安全的SSH方便的进行远程管理.但在Windows下,除了不安全的Telnet以外,从Windows Server 2008开始提供了另外一种命令行原创管理方式, ...
- Udp发送端和接收端
//UdpReceive.java /* 定义udp的接收端. 思路: 1.定义udpSocket服务.一般会监听一个端口,事实上就是这个接收网络应用程序定义一个数字标示. 2.定义一个数据包.用来存 ...
- MySQL经常使用命令--show命令使用
log into the mysql for localhost mysql -u username -ppasswd(there is no space) for ip mysql -h ip -P ...
- ADO.NET Entity Framework Extensions
一.情景 如果你的项目中有返回多结果集的存储过程. 如果你的项目要和老项目中的ADO.Net共用事务. 如果你要动态的创建数据库的表. 但是你还是希望使用Entity Framework.那么继续往下 ...
- DataTable转Json就是这么简单(Json.Net DLL (Newtonsoft))
之前JSON转DataTable可以见我之前的随笔 链接Json转换成DataTable 之前没有用过DataTable,之后随着需求的叠加发现需要将DataTable转换成Json.因为之前都是用的 ...
- ubuntu16.04 下载 fabric
1 Fabric源码下载 我们可以使用Git命令下载源码,也可以使用go get命令,偷懒一点,我们直接用go get命令获取最新的Fabric源码: go get github.com/hyperl ...
- ACM-ICPC北京赛区[2017-11-19]
Domains K-Dimensional Foil Graph Chinese Checkers Cats and Fish #include<stdio.h> #include< ...
- 洛谷P4413 [COCI2006-2007#2] R2(可持久化平衡树维护NTT)
题意翻译 设S=(R1+R2)/2,给定R1与S (-1000<=R1,S<=1000)(−1000<=R1,S<=1000) ,求R2. 感谢@Xeonacid 提供的翻译 ...
- Android高效加载大图
通过BitmapFactory的decode方法设置特定的options缩小图片到指定尺寸 1:通过加载设置了只编码图片边界options的图片,获取原图的尺寸和类型 2:计算图片需要缩小的倍数 3: ...