编辑 想通了.. $.ajaxSetup({ cache: false }); 没有工作,因为我在表单上将 data-ajax 设置为关闭,因此我无法在其上设置无缓存 ajax。如果有人知道如何完成此操作,则只是为了完整性而设置了 dada-ajax为假,请在此处发布
我刚刚 尝试过并且有效的其他方法是简单地将 data-ajax="false" 添加到您想要刷新页面的任何链接。这意味着如果我在链接上有 data-ajax="false" ,它将始终在显示之前刷新页面!
例如,我遇到问题的链接是
<a href="@Url.Action("CreateStatusReport", "ProjectHome")">Add a new weekly update</a>
问题是由于某种原因该页面正在缓存并且总是显示缓存的页面。所以一个简单的修复方法是向它添加 data-ajax="false" 并且每次都强制重新加载页面
<a href="@Url.Action("CreateStatusReport", "ProjectHome")" data-ajax="false">Add a new weekly update</a>
`````````````````````````````````````````````` `````````````````````````````````````````````` `````````````````````````````````````````````` `````````````````````````````````````````````` `````````````````````````````````````````````` ``````````````
问题: 我有一个选项菜单,它会打开一个表单,该表单也有一个取消和提交按钮。
提交表单后,将运行某些验证,如果缺少某些内容,它将返回到带有一些验证文本的表单。
现在,如果我随时单击取消按钮,我应该返回到选项菜单,如果我单击显示表单的同一个按钮,我应该会看到一个全新的干净表单,如果我在验证之前这样做,这很好.
问题是,如果我提交一个无效的表单,该表单返回错误验证消息,然后按取消,页面似乎会被缓存或类似的东西,因为从那时起,我随时单击表单选项菜单按钮,相同的表单会显示验证错误和数据。我在返回表单 View() 的方法中放置了一个断点,它们永远不会被命中,因此由于某种原因它跳过了创建新表单的整个方法,并且以某种方式只显示旧页面。
取消按钮如下
<a href="@Url.Action("ProjectOptions", "ProjectHome", new { id = @Session["projectID"], remove = "true" })" style="text-align:center" data-role="button" data-theme="e" data-icon="arrow-l">Cancel</a>
有人知道发生了什么吗?当它返回到带有验证错误的同一页面时,它是否以某种方式被缓存?
** 编辑 **
我尝试[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
在控制器前面添加无济于事..
我现在也添加了
$.ajaxSetup({ cache: false });
到我的 $(document).ready(function () 的顶部,但这似乎也没有做任何事情,我只是把它放在那里还是我必须以某种方式调用它?
我检查了 System.Web.HttpContext.Current.Cache 并且页面没有显示在那里。