Asp.net mvc IE和Firefox都不尊重输出的控件值

Asp.net mvc IE和Firefox都不尊重输出的控件值,asp.net-mvc,internet-explorer,firefox,caching,Asp.net Mvc,Internet Explorer,Firefox,Caching,我正在写一个调查设计师asp.NETMVC。它有上下移动问题的按钮。按钮将整个表单发回,受影响的问题将在服务器上交换。表单返回时,唯一更改的是每个调查问题的值。firefox和IE似乎都忽略了这一变化 没有任何内容被持久化到数据库中(直到保存),url也不会更改,因此post只返回相同的视图,但我已经仔细检查了代码,以确保视图中呈现的值序列反映了交换,这是正常的。然而,“view-source”并没有显示建议缓存问题的更改(可能是自动完成的) 我在表单中尝试了autocomplete=“off”

我正在写一个调查设计师asp.NETMVC。它有上下移动问题的按钮。按钮将整个表单发回,受影响的问题将在服务器上交换。表单返回时,唯一更改的是每个调查问题的值。firefox和IE似乎都忽略了这一变化

没有任何内容被持久化到数据库中(直到保存),url也不会更改,因此post只返回相同的视图,但我已经仔细检查了代码,以确保视图中呈现的值序列反映了交换,这是正常的。然而,“view-source”并没有显示建议缓存问题的更改(可能是自动完成的)

我在表单中尝试了autocomplete=“off”

Response.Cache.SetNoStore()在my global.asax中

[System.Web.Mvc.OutputCache(NoStore=true,Duration=0,VaryByParam=“*”)]
在我的控制器之前

下面是我的页眉

<meta http-equiv=="CACHE-CONTROL" content="NO-CACHE" />
<meta http-equiv=="PRAGMA" content="NO-CACHE" />
<META HTTP-EQUIV="EXPIRES" CONTENT="0" /> 

我还尝试在我的url中添加一个随机查询值

没什么!!!这一定很普遍


有人找到线索了吗?

重定向到GET似乎使用TEMPDATA将从客户端发布的模型传递到[HttpGet]视图来修复它

我不知道为什么浏览器喜欢缓存的输入字段值而不是从POST返回的值,但却给出了从GET检索到的内容的真实表示


我只是希望我的用户永远不要在他们正在进行的调查中点击“刷新”,因为当数据被吹走时,他们会失去它。这可能是他们所期望的,但我通常喜欢“发布然后重定向到获取”,因为它可以防止潜在的破坏性重新发布

我们需要看到更多代码。一个丑陋的解决方案是将一个随机查询字符串值追加到视图的URL中,迫使浏览器将其视为一个不同的URL。但我只是在万不得已的情况下才这么做。我已经尝试了URL的方法,但没有任何效果。如果我重定向到“使用tempdata获取”以传输更新的测量,浏览器将反映更改。这样做的问题是刷新会将tempdata(和survey)吹走,而GET URL并不能反映真正被检索的内容——调查太复杂,无法在URL中编码。至少对于POST,刷新会导致浏览器将调查状态发送回服务器,并提示用户。