在我们的 MVC 4 Web 应用程序中,我们使用区域和标准/默认路由配置。例如,如果我们想查看特定客户的注释/评论记录,我们有一条如下所示的路线:
/Customers/Notes/Index/123
我们在“客户”区域中有一个名为 Notes 的控制器,其中包含一个名为“索引”的操作方法。我们的默认路由实际上允许我们指定与以下相同的操作:
/Customers/Notes/123
为完整起见,Index 操作如下所示:
public ActionResult Index(int id)
{
var model = UnitOfWork.CustomerDb
.GetNotes(id);
return View(model);
}
此操作的结果是一个简单的数据网格,提供针对特定客户发布的注释的时间顺序摘要。不涉及 AJAX 或 JSON。
这一切都很好 - 除了使用 Chrome 时。此浏览器似乎缓存页面并呈现前一页。刷新浏览器并不能解决问题,但如果我清除浏览器缓存然后刷新,则会呈现正确的数据。
我假设 Chrome 忽略了 id 参数。我的问题是:
- 为什么这似乎只是 Chrome 的问题?
- 这是一个已知/常见的问题吗?
- 有公认的解决方案吗?
我已经在整个 Web 应用程序中使用了这个我认为是安全的技术,我不得不承认我对为什么会发生这种情况感到困惑。
任何信息/建议将不胜感激。