【发布时间】:2012-01-03 06:15:22
【问题描述】:
我想覆盖 Url.Content 以将查询字符串参数附加到 Url.Content 上的结果字符串。
原因是,我开发了一个 Web 应用程序,并且在每个版本中,用户都必须清除他们的缓存以获取新的 css 和 js。对此的解决方案是在查询字符串中附加一个版本号以强制加载新版本。
一个可行的解决方案如下:
@{ var version = "?v=" + ViewBag.VersionNumber; }
<head>
<link href="@Url.Content("~/ux/css/base.css")@version" rel="stylesheet" type="text/css" />
</head>
版本在配置文件中设置,因此每个版本都会更新版本。不过,我希望这更加自动化,因为目前任何时候添加新的 css 引用,我们都必须记住将 @version 添加到字符串中。返回带有已附加版本号的路径的扩展方法将是完美的。
另外,如果有人知道我可以通过 TFS 签入或编译自动更改版本号,那也将非常有用。
【问题讨论】:
标签: c# javascript css asp.net-mvc razor