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>标签javascript
1. <a href=”test.aspx”></a>html
2. 这是最多见的一种转向方法;
java
[二]、hyperlink控件web
1. asp.net 服务器端控件 属性navigateurl指定要跳转到的url地址浏览器
2. navigateurl是能够在服务器端使用代码修改,这个区别于<a>服务器
3. 因为hyperlink自己没有事件因此要在服务器端其它事件中设置navigateurlcookie
4. 代码示例网络
<asp:hyperlink id=”hyperlink” runat=”server” navigatoeurl=”test.aspx”>ok</asp:hyperlink>
session
[三]、response.redirect()方法app
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种页面转向方法 - 博客园