这个问题在这里已经有了答案:
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/