是否有任何工具可以更快地将文件添加到MVC3剃刀页面?
我发现自己不得不将脚本文件拖到页面上以生成:
<script src="../../Scripts/rails.js" type="text/javascript"></script>
然后我会复制并粘贴
<script src="@Url.Content("~/Scripts/")" type="text/javascript"></script>
然后将rails.js
片段剪切/拖动到新的脚本语句中。然后在这之后的某个时刻我希望我记得我需要清理一大堆重复和/或破坏的脚本链接。
必须有一种比这更好的方法,不涉及手动输入网址。
答案 0 :(得分:1)
今天早些时候发现了这篇博客文章ASP.NET MVC Best Practices (Part 1),它的指导显示
public static string Image(this UrlHelper helper, string fileName)
{
return helper.Content("~/assets/images/{0}".FormatWith(fileName));
}
public static string Stylesheet(this UrlHelper helper, string fileName)
{
return helper.Content("~/assets/stylesheets/{0}".FormatWith(fileName));
}
public static string NoIcon(this UrlHelper helper)
{
return Image(helper, "noIcon.png");
}
如果您为资源使用良好的布局方案,这似乎是最佳解决方案。
修改: FWIW
public static string FormatWith(this string format, params object[] inputs)
{
return string.Format(format, inputs)
}
答案 1 :(得分:0)
您可以使用 T4MVC 对您的链接进行编译时验证。
<强> 2.3。强大的脚本文件和静态资源类型链接
T4MVC为其生成静态助手 您的内容文件和脚本文件。 所以不要写:
<img src="/Content/nerd.jpg" />
您 可写:
<img src="<%= Links.Content.nerd_jpg %>" />
同样,而不是
<script src="/Scripts/Map.js" type="text/javascript"></script>
您 可以写
<script src="<%= Links.Scripts.Map_js %>" type="text/javascript"></script>
明显的好处是你会得到 如果你移动或者编译错误 重命名你的静态资源,所以你会 早点抓住它。
另一个好处是你得到更多 多功能参考。当你写作 src =“/ Content / nerd.jpg”,您的应用将会 只有在它部署时才有效 网站的根。但是当你使用的时候 帮手,它执行一些服务器端 确保您的参考的逻辑 无论您的网站在哪里都是正确的 根。它通过调用来做到这一点 VirtualPathUtility.ToAbsolute( “〜/内容/ nerd.jpg”)。