摘录  
   
  在ASP.NET应用中,Web表单之间的导航有多种方式:用超级链接,用Response.Redirect,用Server.Transfer,或者用Server.Execute。本文将分析这四种导航方式的异同及其优缺点,帮助你选择最佳的导航方式。      
   
  一、超级链接      
   
    从一个表单进入另一个表单最简单的方式是使用HTML超级链接控件。在Web表单中,使用超级链接的HTML代码类如:      
   
  <a   href="WebForm2.aspx">进入表单2</a>     
    当用户点击该超级链接,WebForm2.aspx执行并将结果发送到浏览器。超级链接导航方式几乎可用于任何地方,包括HTML页面和普通的ASP页面。ASP.NET还提供了另一种可替换使用的方法,即HyperLink服务器控件:         
  <form   %>     
   
    再转到设计视图,为第二个页面增加一些控件。接下来,把第一个页面设置成默认页面,启动应用。点击按钮,WebForm2的控件将显示在WebForm1中放置Literal按钮的地方,如图一,注意页面标题和URL仍旧显示原始页面WebForm1。       
  
    图一:用Server.Execute合并两个源文件的页面      
   
    用Server.Transfer或Server.Execute方法实现导航时,还要注意一点:最后得到的页面可能不是合法的HTML页面,因为最终返回给客户端的页面可能包含多个<HTML>和<BODY>等标记。IE浏览器看来能够容忍并正确处理这类情形,但如果用户要用到其他的浏览器,最好仔细测试一下。      
   
  <b>三、比较与选择</b>      
   
    既然从一个页面导航到另一个页面的办法有这么多,应该如何选择最佳的导航方式呢?下面是一些需要考虑的因素:      
   
    <b>·</b>如果要让用户来决定何时转换页面以及转到哪一个页面,超级链接最适合。      
   
    <b>·</b>如果要用程序来控制转换的目标,但转换的时机由用户决定,使用Web服务器的HyperLink控件,动态设置其NavigateUrl属性。      
   
    <b>·</b>如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。      
   
    <b>·</b>用Response.Redirect把用户连接到非ASPX的资源,例如HTML页面。      
   
    <b>·</b>如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。      
   
    <b>·</b>如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的性能和浏览效果。      
   
    <b>·</b>如果要捕获一个ASPX页面的输出结果,然后将结果插入另一个ASPX页面的特定位置,则使用Server.Execute。      
   
    <b>·</b>如果要确保HTML输出合法,请使用Response.Redirect,不要使用Server.Transfer或Server.Execute方法。      
   
    本文译自:http://www.ondotnet.com/pub/a/dotnet/2003/04/07/aspnetnav.html      
   
    原文题目:《Managing   ASP.NET   Navigation》。

相关文章:

  • 2021-06-08
  • 2022-12-23
  • 2021-10-29
  • 2021-12-08
  • 2021-12-17
  • 2022-01-17
  • 2022-01-06
猜你喜欢
  • 2021-12-14
  • 2021-08-26
  • 2021-11-28
  • 2022-02-16
  • 2021-07-09
  • 2022-12-23
相关资源
相似解决方案