页面js脚本文件,css样式文件可以加快页面的访问速度,给用户带来更流畅的体验。可也有弊端,当项目中js脚本文件,css样式文件更改后,页面在浏览器加载时的还是以前缓存的文件(如图1),这样就看不到更改的效果,更严重的可能还会引起项目运行异常。
解决方法
/// <summary>
/// 商品信息详情页
/// </summary>
/// <returns></returns>
public ActionResult NewIndex()
{
ViewData["lastTime"] = CurrentUser.LoginTime.ToString("HH:mm:ss");
return View();
}
ViewData["lastTime"] = CurrentUser.LoginTime.ToString("HH:mm:ss");
:把用户的登录时间存到ViewData字典,并传到页面上。
<script src="~/Content/DeviceShop.js?lastTime=@ViewData["lastTime"]"></script>
这样每当用户登录时,用户的登录时间都会更新,js文件也会刷新到最新的文件,不会因为以前的缓存,影响效果。
其他类似的做法也有读取js文件的最后修改时间,根据最后修改时间选择是否缓存,如:
string filepath = Server.MapPath("././Content/DeviceShop.js");
FileInfo fileInfo = new FileInfo(filepath);
ViewData["lastTime"] = fileInfo.LastWriteTime.ToString();