我在win2003 下安装了iis6.0   和 .NET Framework 2.0 版可再发行组件包(x86)然后将测试环境运行正常的网站放上去,发现在welcome.aspx的后台使用Response.Redirect("~/index/welcome.aspx") 这句话不能正确跳转。
例如:
站点根路径:D:\123
网站大概结构:
D:\123
    123--->index
    123--->index--->welcome.aspx正确跳转到:192.168.1.1/index/welcome.aspx
现在跳转到:192.168.1.1/index/~/index/welcome.aspx不是说 ~ 符号 在网站中表示根路径吗,我这样写应该没错呀,为什么会出现192.168.1.1/index/~/index/welcome.aspx这样的地址。
只要不进行跳转,网页都显示正常,没问题,就是发生这种跳转路径的时候出错。
各位大大帮帮忙啊!ps:从网上找的资料:是不是没有装.NET Framework 2.0 Service Pack 2的原因啊?小弟在线求答案!~

解决方案 »

  1.   

    Response.Redirect("/index/welcome.aspx")直接/就是根目录了
      

  2.   

    去掉~,这个跟装没有装.NET Framework 2.0 Service Pack 2没有关系
      

  3.   

    #1楼谢谢的你帮助。
    要是改成 Response.Redirect("/index/welcome.aspx")   这种形式,就是劳动量有点大,一会我去试一下。
      请问Response.Redirect("~/index/welcome.aspx")   这个为什么不行那?  我的测试环境是win2003 下安装了iis6.0  ,只不过装了一个vs2005  。使用我说的方法就没有问题,为什么在服务器上就不行?
      

  4.   

    1、/
    注:获得应用程序根目录所在的位置
    2、./
    注:获得所在页面的当前目录,等价于"AA.HTML"。 
    3、../
    注:获得所在页面的上级目录。 
    4、~/
    注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录
      

  5.   

    大家是不是在项目开发中都是使用Response.Redirect("/index/welcome.aspx") 
    这种方式那?小弟没有经验,大侠们指点一下。
      

  6.   

    回#7楼我按照你说的理解:
    Response.Redirect("~/index/welcome.aspx")  应该跳转到192.168.1.1/index/index/welcome.aspx 这样是吗?为什么在服务器跳转的地址是192.168.1.1/index/~/index/welcome.aspx ?
      

  7.   

    你在IIS里启用父路径 这个选项!!
      

  8.   

    虚拟目录>属性>主目录>配置>选项>启用父路径 勾上去就行了!
      

  9.   

    回#10楼 
    你在IIS里启用父路径 这个选项!! 我启用了的。现在不知道为什么会出现192.168.1.1/index/~/index/welcome.aspx 这样的地址好多人关注啊,我会追加分的,大家猛烈的来吧
      

  10.   

    照理说不该出现这问题,凡是出现~的地方,asp.net引擎会在后代调用ResolveClientUrl()方法把传来的地址转换成正确的相对地址。
      

  11.   

    我也不知道怎么会出现index/~/index格式,不知道如何解决,求高手帮忙!
      

  12.   

    就是这样啊 Response.Redirect("index/welcome.aspx")就行了吧
      

  13.   

    IIS配置问题,也可使用ResolveClientUrl
      

  14.   


    大侠,请问iis 配置要改变那里,我都是是默认配置的,听说win2003  iis6.0的默认配置安全性很高,好多的禁止的,要怎样才能使Response.Redirect("~/index/welcome.aspx")正确?
      

  15.   

    各位大神们,help!  help~!
      

  16.   

    Response.Redirect("../index/welcome.aspx")
      

  17.   

    在IIS里配置网站或虚拟目录,配置单一端口。
    ~表示虚拟路径根目录
    server.mappath("~/")   
      

  18.   

    命令行:inetmgr 
    找到D:\123 对应的虚拟目录,右键属性\虚拟目录\创建\确定,这样~ 就表示http:\\192.168.1.1\123\