javascript - 如何版本 MVC JavaScript 包括

标签 javascript asp.net-mvc

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
force browsers to get latest js and css files in asp.net application



我正在使用其他人的代码,所以我不了解整个情况,我什至不太了解 MVC,但问题是……

在 Site.Master 中有一个
<%= Html.IncludeJs("ProductPartial")%>

在最终标记中生成此行
<script type="text/javascript" src="/Scripts/release/ProductPartial.js"></script>

我在 JS 文件中做了一些更改,但旧的很明显被浏览器缓存了,所以在用户刷新之前更改不会显示。通常的解决方法是在脚本源路径的末尾添加一个版本标记,但我不确定在这种情况下如何做到这一点。

有什么建议?

最佳答案

为什么不编写自己的 Html helper 扩展方法,并使其输出应用程序程序集的版本号?沿着这些路线的东西应该可以解决问题:

public static MvcHtmlString IncludeVersionedJs(this HtmlHelper helper, string filename)
{
    var version = Assembly.GetExecutingAssembly().GetName().Version;
    return MvcHtmlString.Create(filename + "?v=" + version);
}

然后,无论何时向用户发布新版本,您都可以增加程序集的版本号,并且他们的缓存将在整个应用程序中失效。

关于javascript - 如何版本 MVC JavaScript 包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2629082/

相关文章:

javascript - 在 iOS Safari 中,从后台关闭浏览器时 cookie 数据会被销毁。我不想在关闭浏览器时丢失 cookie 数据?

javascript - 你能在 Ruby 中使用 Case 语句进行无限计数吗?

javascript - 是否可以通过滚动到元素来滚动元素上方/下方

javascript - javascript 代码中未终止的字符串文字,我也不确定 PHP 代码

菜单项的 JavaScript 旋转在单击后卡住

ASP.NET MVC Razor 不接受我的有效标记

c# - System.Web.Optimization错误添加

asp.net-mvc - 带有 html helper Hidden 和 HiddenFor 的 bool 值

asp.net - dll 中可重用的 ASP.NET MVC 组件,如 ASP.NET WebControls

javascript - 如何使用jquery点击按钮隐藏数据库记录