问题所在
我遇到了典型的虚拟目录困境,因为您在ASP.Net应用程序上有一些路径,并且将应用程序部署在IIS虚拟目录中。那么与"web根目录“(f.i.,"/images")相关的所有路径都不起作用,因为应用程序位于虚拟目录路径中。
解决方案
A.将“图像”文件夹设置为虚拟目录。这样,"/images“就会一直存在。
B.使用"<%=Request.ApplicationPath%>/Imagenes"
作为我的图片来源。这在IIS中工作得很好,但我在设计时和调试时都看不到它。
此解决方案还包括以下说明:
C.使用指向当前控件/页面的相关路径。这就是知道图像文件夹相对于我当前文件的确切位置(不需要转到根目录。所以我会用"","../","../../“等等。
我正在寻找的解决方案
是这么说的。我不喜欢这些解决方案。我希望在web.config文件或IIS中有一个解决方案。我在web.config文件中编写了一些配置说明,它告诉IIS我的应用程序实际驻留在哪里(虚拟目录)。
有什么建议吗?
发布于 2009-09-19 19:40:22
您是否在您可以使用的路径中使用了波浪号(~)?
~指的是虚拟Web应用程序的根...
~/以图像为例。
发布于 2010-10-19 19:37:28
如果它只用于客户端的css文件,那么使用url指令使路径相对于样式表的路径,而不是相对于页面的路径:
h1#title { background: url('dog.gif') no-repeat 0 0; }
另外,如果你使用的是asp.net mvc,那么你可以访问:
<script src="<%= Url.Content("~/scripts/new.js") %>" type="text/javascript"></script>
https://stackoverflow.com/questions/1449267
复制相似问题