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>
标签
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种页面转向方法 - 博客园

相关文章
相关标签/搜索