在页面转向的几个方法里,我在网上看到说Server.Transfer和Server.Execute都容易产生不合法的HTML页面,由于默认Server.Execute会把被调用页面和调用页面合成,所以这个还比较好理解。但是Server.Transfer是怎么产生不合法页面的呢?
能不能给个例子?
并说明如何避免这种情况?

解决方案 »

  1.   

    public void Transfer(
       string path,
       bool preserveForm
    );
    终止执行当前页,并开始使用新页的指定 URL 路径来执行新页。指定是否清除 QueryString 和 Form 集合。一般用Redirect,它可以传参
      

  2.   

    看看这个http://menory.blog.51cto.com/post/25986/4873
    希望对你有帮助
      

  3.   

    chenyu112(晨雨) ( ) 信誉:98    Blog  2006-09-11 09:17:00  得分: 0  
     
     
       看看这个http://menory.blog.51cto.com/post/25986/4873
    希望对你有帮助
      
     --------------------------------大哥,我就看了这篇在网上流传烂了的文章才产生以上疑问的。不是说现在做asp.net的人越来越多么,怎么这儿一点人气都没有呢?
      

  4.   

    咦?这本来应该是很简单的问题呀,怎么在这儿这么久了还没人回答?我刚来asp.net区,怎么会是这个样子的
      

  5.   

    奇怪了,这儿没有asp.net的程序员么???
      

  6.   

    因为在Server.Transfer中不过过滤HTML字符,而在其它地方是对输入HTML字符会发出"不安全警告的",你新建一个页面,放一个TextBox,一个Button,然后,在TextBox中输入<Script>就可以看到什么原因了
      

  7.   

    oldmoon(浪者) ( ) 信誉:100    Blog  2006-09-12 09:29:00  得分: 0  
     
     
       因为在Server.Transfer中不过过滤HTML字符,而在其它地方是对输入HTML字符会发出"不安全警告的",你新建一个页面,放一个TextBox,一个Button,然后,在TextBox中输入<Script>就可以看到什么原因了
      
     
    --------------------------------这和我的问题有什么关系,server.transfer是提交后,然后携带数据专向其它页面的,出现警告也是在提交后,转向前发出的,这和转向有什么关系。
      

  8.   

    安全性的问题,解释文章http://weblogs.asp.net/israelaece/archive/2006/07/06/Security-and-Server.Transfer-method.aspx
      

  9.   

    http://www.microsoft.com/china/technet/security/guidance/secmod83.mspx