网上下载了一个网站,调试的时候在浏览器中查看,菜单中的url地址不能正常跳转,应该是路径问题。浏览网站根目录下的Default.aspx,浏览器中的地址为http://localhost:7752/Enterprise/Default.aspx,多了一个Enterprise这个网站文件夹的名字,应该就是这个问题导致../Register/RegPro.aspx这样类似的相对路径不能够跳转。
  怎么办呢? 有人能回答我吗? 

解决方案 »

  1.   

    客户端链接改成下面方式
    <a href='<%=ResolveClientUrl("~/Register/RegPro.aspx") %>'></a>
      

  2.   

    Vs2005打了SP1补丁后可创建 asp.net应用程序,默认的路径为/形式的根目录。但如果没打这个补丁或创建形式是以网站形式创建默认的根目录是多了一个你描述的那样----多了一个网站文件夹名称来做根目录。这时你可点击那个网站,属性中把那个根目录更改为/形式根目录。
      

  3.   

    1.vs2008不会多一个目录。
    2.在IIS上建立个站点,直接指向你的网站
    3.你在vs网站项目点右键/属性/web 在里面设置下你的iis访问地址。
      

  4.   

    回头去看看是不是因为SP1补丁的问题,IIS发布时一切正常的.谢谢大家了
      

  5.   

    客户端链接改成下面方式 
    <a href=' <%=ResolveClientUrl("~/Register/RegPro.aspx") %>'> </a>
      

  6.   

    刚看了一下,在装了SP1补丁的机器上,问题依旧,运行后浏览器地址栏中依旧保留文件夹名 类似于http://localhost:7752/Enterprise/Default.aspx,Enterprise为这个网站根目录的文件夹名
      

  7.   

    用了~ 还是没能解决问题   出现如下路径 /Enterprise/~/Register/RegPro.aspx 
      

  8.   

    是不是设置了虚拟目录
    默认网站的文档直接指向Default.aspx文件
      

  9.   

    把该项目放在iis的根目录,或者打sp1建立一个应用程序
      

  10.   

    在VS中选中网站项目
    把属性中虚拟路径删除保留空白就可以了
    在VS中新建网站项目的时候,会默认虚拟路径/Enterprise
      

  11.   

    去试试13楼的方法,我在IIS中是一切正常的.
      

  12.   

    ~是服务器端路径标识网站根目录,服务器控件都是用的这个路径,
    其实~最后是用ResolveClientUrl来解析这个路径的
    所以客户端你这样
    客户端链接改成下面方式 
    <a href=' <%=ResolveClientUrl("~/Register/RegPro.aspx") %>'> </a>
    就可以了,如果封装在js文件里
    通过函数吧'<%=ResolveClientUrl("~")%>'作为根目录传进去
    function func(root)
    {
       var url=root+"Register/RegPro.aspx";
    }a('<%=ResolveClientUrl("~")%>')
      

  13.   

    func(' <%=ResolveClientUrl("~")%>')