这两天在学习MS的URLRewriter重写Url。其它的地方已经测试通过了,最后调用RewritePath方法重写路径的时候出现问题:页面不跳转!
我是个.net新手,许多知识点还没有研究明白,出现这个情况,我反复修改始终没有什么效果。
甚至我重开一个网站,在那里面,只使用两、三个页面做最简单的测试。
最后的结果是
1、页面内容无变化、地址无变化
Context.RewritePath("2.aspx");
2、页面内容变化、地址也变化
Response.Redirect("4.aspx");
3、页面内容变化、地址无变化
 Context.Server.Transfer("2.aspx");
我这里有两个问题:
1、为什么RewritePath不跳转?
2、RewritePath和Server.Transfer有什么区别?BTW:我用的是vista +“Microsoft Visual Web Developer 2005 速成版”

解决方案 »

  1.   

    RewritePath没用过
    基本用的是Response.Redirec("aa.aspx");
    Server.Transfer();是把别的页面加载到本页(本页内容清空)
      

  2.   

    RewritePath:仅仅重写URL
    Response.Redirect(): 客户端重定向,更改URL
    Server.Transfer():服务端重定向,不更改URL
      

  3.   

    2楼的回复和我前面测试的结果是一样的。
    不过,从昨天开始,出现新的问题了。
    如果只是简单的页面使用Server.Transfer(),地址栏是不变化的。但是如果在复杂的代码中使用,真实地址就会暴露出来!
      

  4.   

    url重写的意思是吧当前地址重写为其他地址,
    目的是隐藏真实的地址,为了安全
    另外一个就是便于搜索引擎搜索
      

  5.   

    等了好久都有答案,csdn强制结贴。
    谢谢大家。给分!