为什么使用Url.Content来引用资源?

Der*_*ker 5 url model-view-controller asp.net-mvc client-side asp.net-mvc-2

在我遇到的几乎所有ASP.NET MVC示例中,我总是看到Url.Content用于引用CSS,JavaScript和Images.没有人解释为什么要使用它.

有人在乎解释吗?

这样做有什么不好:

<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" />
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 2

你所拥有的与 Url.Content() 的作用相同。Url.Content() 就像在路径的开头添加 ~ 一样:

<script src="~/Scripts/jquery.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

只需确保路由的路径始终正确即可。您还可以创建一个 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);
        }
Run Code Online (Sandbox Code Playgroud)

然后你可以将其放入你的母版页中:

<%=Html.RenderScript("jquery")%>
Run Code Online (Sandbox Code Playgroud)