当我将image / script / css文件拖放到我的视图中时,相对路径将自动用于引用文件。
示例:
<link href="../../Content/style.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-min.js" type="text/javascript"></script>
<img src="../../Images/logo.jpg" />
当我将它托管在我的根目录上时工作正常,但是如果我使用的是虚拟目录,那么只有我的css文件才能正确引用,其余的将返回404 ...因为它将引用{{1而不是http://{root}/Images/logo.jpg
但是为什么css文件正常工作?以及如何正确指定root和amp;的相对路径虚拟目录案例?
答案 0 :(得分:5)
类似......
<script type="text/javascript"
src="<%= Url.Content ("~/Scripts/jquery.js") %>">
</script>
会做的伎俩
答案 1 :(得分:3)
此外,与Kazi Manzur's MVC Best Practices相关,您可以创建UrlHelper方法来处理所有内容(脚本,样式表,图像等)文件路径的创建。这样,如果您更改目录,您只需更改相应的UrlHelper:
public static string Style(this UrlHelper url, string fileName)
{
return url.Content("~/content/{0}".FormatWith(fileName));
}
public static string Script(this UrlHelper url, string fileName)
{
return url.Content("~/scripts/{0}".FormatWith(fileName));
}
然后,在您的ViewPage或MasterPage中,您可以像这样编写路径:
<link href="<%= Url.Style("site.css")%>" rel="stylesheet" type="text/css"/>