Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Safari和Chrome在后退按钮上修改表单数据_C#_Safari_Google Chrome_Back Button - Fatal编程技术网

C# Safari和Chrome在后退按钮上修改表单数据

C# Safari和Chrome在后退按钮上修改表单数据,c#,safari,google-chrome,back-button,C#,Safari,Google Chrome,Back Button,我在Safari和Chrome(适用于Firefox和IE)中遇到了这个奇怪的问题 我从这个复选框列表开始,它选中了第一个项目“A”,未选中项目“B”和“C” 然后,我导航到另一个页面,该页面对出现在复选框列表中的项目进行排序 我更改列表中项目的顺序,使其现在变成“B”、“A”、“C” 我按下后退按钮 从服务器重新获取页面(我已禁用缓存),我检查从服务器发送的响应,并且项目“A”仍然被检查,不再是列表中的第一个项目 !!!奇怪的行为!!!页面已在浏览器中加载新顺序“B”、“A”、“C”,但未选中

我在Safari和Chrome(适用于Firefox和IE)中遇到了这个奇怪的问题

  • 我从这个复选框列表开始,它选中了第一个项目“A”,未选中项目“B”和“C”
  • 然后,我导航到另一个页面,该页面对出现在复选框列表中的项目进行排序
  • 我更改列表中项目的顺序,使其现在变成“B”、“A”、“C”
  • 我按下后退按钮
  • 从服务器重新获取页面(我已禁用缓存),我检查从服务器发送的响应,并且项目“A”仍然被检查,不再是列表中的第一个项目
  • !!!奇怪的行为!!!页面已在浏览器中加载新顺序“B”、“A”、“C”,但未选中“A”,而是选中了第一项“B”
  • 不知何故,通过按下“上一步”按钮,检查项的位置似乎已恢复,并且从服务器发送的表单数据已被丢弃

    当我刷新页面时,顺序是“B”、“A”、“C”,项目“A”现在被选中,一切看起来都正常

    在这两种情况下,页面的IsPostBack都设置为false

    这是web工具包中的错误吗

    尝试,清除缓存,进入私人浏览模式,清除历史记录。仍然是相同的行为。

    参见此示例:


    这也发生在我身上。这似乎是一个非常基本的缺陷,因为用例非常简单,而且很可能很常见。我已经在两个不同的项目中遇到过这个问题。如果禁用会话实际上可以避免此问题,那么这并不是一个真正的解决方案,因为大多数客户端甚至不知道或不关心此选项。

    我们遇到了一个类似的问题,表单数据被Webkit“还原”,即使页面状态在同一时间发生了更改


    类似的帖子给了我们一个很好的启示。通过在页面上的所有表单中添加
    autocomplete=“off”
    ,我们可以解决这个问题。

    我想这不应该被标记为C。哦,天哪,你救了我的命!我已经绞尽脑汁两天了,直到我找到了这个自动完成的解决方案!我在页面上有一些搜索表单,在Safari和Google Chrome中点击后退按钮返回厚颜无耻的表单数据。令人惊讶的是,IE在点击后退按钮时工作得非常好。所以再次感谢你。