2011-06-09 47 views
0

我正在为网站开发一个消息传递系统。如何使视图无效我知道已更改?

当用户单击收件箱中的邮件时,她会转到单个邮件视图以允许回复邮件。

现在,想象一下,在看到单个消息后,她点击“返回”。她会看到收件箱,但由于该页面已被缓存,该邮件仍将突出显示为未读。

在ASP .NET MVC中解决这个问题的标准和推荐方法是什么?

回答

2

标准的方法是告诉webbrowser使用元标记从服务器重新加载页面。

<meta http-equiv="Expires" content="Tue, 01 Jan 1980 1:00:00 GMT"> 
<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 

的东西组合通常工作,如果你能在你看来头插入。

您也可以在控制器中通过Response.Cache配置这些属性,以便它们在HTTP标头中传递。

更MVC风格的选择是与NoStore = true指定使用OutputCache属性这些标题:

[OutputCache (NoStore = true, Duration = 0, VaryByParam = "None")] 

这不完全是一回事。

+0

谢谢。我编辑了答案,包括我找到的解决方案。 – 2011-06-09 10:03:18