有一个asp.net项目,是在WS2003操作系统下开发的,由于开发的时候使用的都是新建的本地站点,因此每一个.aspx文件内的连接都是类似“image/top.gif”这样的相对路径。后来改用winXp操作系统开发,由于不用虚拟站点改用虚拟目录,原来.aspx文件内的那些连接都要加上“../”改为类似“../image/top.gif”这样的相对路径才能有效。
如果全部改动工作量太大,请问在.net里怎样设置可以在不改动每一个页面的连接的情况下让上面的问题解决?ps:如果不加上“../”连接在浏览器里打开的地址是“http://localhost/image/top.gif”,而正确的是“http://localhost/虚拟目录名称/image/top.gif”

解决方案 »

  1.   

    IIS6.0出于安全考虑,默认关闭了父路径(诸如../格式的语句),只需在“主目录-配置-选项”,将“启用父路径”勾选即可。
      

  2.   

    二楼的是说在winxp下的iis下设置吗?我这里默认就是选中“启用父路径”的,可是问题依旧啊!!
      

  3.   

    可以将iis的主目录重定向,主目录-本地路径 -修改成指定的文件夹,即可。
      

  4.   

    我一般用土方法.我的图像呀,其他什么的,都用的是绝对路径,如127.0.0.1/images等.到上传到服务器的时候,再用"查找/替换"功能把它替换成域名.
      

  5.   

    一般用~,他代表虚拟跟目录
    如果是用户控件
    就ResolveUrl("~images/a.gif")就ok啊
    吴旗娃教我的
      

  6.   

    如果要在每个引用前都加上../那问题就可以解决了,可是工作量太大,我想知道的是有没有不改动页面的情况下能让此web项目在虚拟目录下(而不是在站点下)运行起来?
      

  7.   

    不行啊!!“image/top.gif”这个引用如果前面不加上“../”,
    在浏览器里打开的地址是“http://localhost/image/top.gif”。
    而加上后正确的是“http://localhost/虚拟目录名称/image/top.gif”
      

  8.   

    这你真是奇怪,相对路径这样是可以的
    我一直都是这样做的,比如:“image/top.gif”
    你新建一个空页加个图片控件 试一下顺便告诉你一下,我的系统就是XP