2011-03-06 39 views
1

我有一个关于Asp.C#应用程序中外部javascript,css和图像文件的相对路径的问题。最佳做法,如何指定css,javascript和图像文件的相对路径?

我有2倍 - 5分的水平,所以我的JavaScript和CSS文件看起来像

../../../../../javascriptfile.js 
../../../cssfile.css 
../../../../../../image.jpg 

在情况下,如果将附加子级应用程序将无法找到文件。

什么是指定文件路径的最佳实践?

+0

答案将只是重新组织文件,以减少这种相对路径的使用:) – 2011-03-06 17:13:29

回答

1

使用像这样的根目录相对路径:

/js/javascriptfile.js 
    /css/style.css 

第一/指在网站的根。

+0

我通常避免引用这样的脚本以避免虚拟路径问题。如果你确定你的项目总是被托管在Web服务器的根目录下,那么这种方法就行得通了,但我个人很少知道这种情况。上面的ResolveUrl提示是一个更安全的选择。 – 2011-03-11 16:10:51

6

请记住,“根目录相对”和“网站的根”的真正意思可能路径的根下的域名网址。您可能需要考虑您的网站不在根目录的情况。在这种情况下,根相对路径可能会指向不同的网站。

在ASP.NET中可以使用导致〜产生相对于当前站点的根目录大多数服务器端控件的网址,如: <img src="~/image.jpg" runat="server">

您还可以使用ResolveUrl方法(和其他类似的方法)来扩展这些路径而不使用服务器端控件。

+0

这对于在母版页中精彩地工作以及与先进的路由技术更一致的附加奖励。请记住,应用程序中的不同路径可能引用同一页面(或masterpage)。 – 2011-03-11 16:12:23

相关问题