Asp.net 5种页面转向方法
程序员文章站
2024-03-11 23:24:43
标签
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服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求
server.transfer()方法
1.实现页面跳转的同时将页面的控制权进行移交
2.页面跳转过程中request session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
3.跳转之后浏览器地址栏的url不变
4.这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
server.execute()方法
1.该方法允许当前页面执行同一个web服务器上的另一个页面
2.页面执行完毕之后重新回到原始页面发出server.execute()的位置。
3.这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合
4.被调用页面的page指令的enableviewstatemac属性设置为false
话题相关:
1. 为了确保html输出的合法性 最好使用response.redirect方法;因为server.execute 或者server.transfer方法返回给客户端的页面包含多个<html><body>标记,不是合法的html页面,在非ie浏览器中可能会发生错误。
2. 由于server.transfer在服务器端执行重定向,所以避免了不必要的网络通信,从而获得了更好的性能和浏览效果
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服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求
server.transfer()方法
1.实现页面跳转的同时将页面的控制权进行移交
2.页面跳转过程中request session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
3.跳转之后浏览器地址栏的url不变
4.这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
server.execute()方法
1.该方法允许当前页面执行同一个web服务器上的另一个页面
2.页面执行完毕之后重新回到原始页面发出server.execute()的位置。
3.这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合
4.被调用页面的page指令的enableviewstatemac属性设置为false
话题相关:
1. 为了确保html输出的合法性 最好使用response.redirect方法;因为server.execute 或者server.transfer方法返回给客户端的页面包含多个<html><body>标记,不是合法的html页面,在非ie浏览器中可能会发生错误。
2. 由于server.transfer在服务器端执行重定向,所以避免了不必要的网络通信,从而获得了更好的性能和浏览效果