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

时间:2010-12-10 23:17:46

标签: asp.net-mvc url model-view-controller asp.net-mvc-2 client-side

在我遇到的几乎所有ASP.NET MVC示例中,我总是看到 Url.Content 用于引用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" />

1 个答案:

答案 0 :(得分:2)

你所做的工作与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")%>