在我遇到的几乎每个 ASP.NET MVC 示例中,我总是看到 网址内容 用于引用 CSS、JavaScript 和图像。从来没有人解释过为什么要使用它。
有人愿意解释吗?
这样做有什么不好:
<img src="/Content/Img/MyImage.png" alt="My Image" />
<script src="/Scripts/jquery.js" type="text/javascript"></script>
<link href="/Content/Css/Default.css" rel="stylesheet" type="text/css" media="all" />
最佳答案
你所拥有的与 Url.Content() 相同。 Url.Content() 就像添加一个 ~ 作为路径的开头:
<script src="~/Scripts/jquery.js" type="text/javascript"></script>
只需确保路径始终与路由正确。您还可以创建一个 Html 辅助方法来简化此操作:
public static string RenderScript(this HtmlHelper htmlHelper, string file) {
var f = file.EndsWith(".js") ? file : string.Concat(file, ".js");
return string.Format("<script src=\"/public/scripts/{0}\" type=\"text/javascript\"></script>", f);
}
然后你可以把它放在你的母版页中:
<%=Html.RenderScript("jquery")%>
关于asp.net-mvc - 为什么使用 Url.Content 来引用资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414149/