这是一种间接的答案,但在许多情况下仍然是可行的解决方案。
NuGet 更新页面 - 不可行
我不相信 Nuget 能够更新您页面中的任何内容。我不相信它有权执行这些类型的操作。此外,这可能非常不安全。
使用捆绑和通配符 - 可行
这是我推荐的方法。它需要优化包(可以通过 NuGet 下载)。它也减少了请求的数量,这总是很好的。
本质上,您创建脚本“捆绑包”,允许您将多个脚本文件组合在一起(也适用于 CSS)。下面是使用{version}
通配符的捆绑示例。
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery")
.Include("Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui")
.Include("Scripts/jquery-ui-{version}.js"));
}
}
然后在 Global.asax.cs 中的 Application_Start 方法中注册包。
最后,您可以更换您的
<script type="text/javascript" src="Scripts/jquery-1.9.1.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.10.2.js"></script>
和
<%: Scripts.Render("~bundles/jquery") %>
<%: Scripts.Render("~bundles/jqueryui") %>
这将在您的文件夹中获取最新版本的 jQuery 并加以利用,因此您无需再次更改脚本引用。
注意:"~/bundles/jquery"
字符串可以随意调用。
注意:这仅适用于 .NET 4.5+(感谢Kevin Johnsrude)
参考:Web 表单中的捆绑和缩小
另外,虽然你并没有真正问到这个问题,但我觉得有义务提一下。这些脚本引用可以重新定位到<head>
块中的 MasterPage,这将允许您减少代码重复(并符合 DRY 原则)。