c# - Asp.net 网页已过期且浏览器后退按钮

标签 c# asp.net

我在使用简单的 ASP.NET 应用程序和回发后的后退按钮时遇到问题。

相关页面上有一个简单的表单、一些文本字段等,以及一个执行回发(自动回发)的下拉列表。

“正常”流程是用户填写表单并可能更改下拉列表。根据下拉值,页面内容可能会发生变化。

我遇到的问题是,在用户更改下拉列表并且回发完成后,用户提交按钮,页面导航到其他页面,然后当我单击后退按钮时。他们看到来自 IE 的“网页已过期”消息。

最佳答案

发生这种情况是因为您要求浏览器“返回”到提交表单之前的状态。在这种情况下,页面已“过期”,因为表单上的信息已发送到服务器。

您可能会在自己没有意识到的地方收到回发。例如,“根据下拉值,页面内容可能会发生变化。”您可能通过 OnChange 事件来完成此操作,该事件会在下拉列表更改时触发回发。现在后退按钮的行为正如您所发现的那样。

您有几个选择:

  1. 在 Javascript 中更改客户端的表单内容。
  2. 使用 AJAX/UpdatePanel 和部分回发重建表单。
  3. 在页面上放置指向应用程序常用部分的链接,并希望人们使用这些链接而不是返回。 :)

关于c# - Asp.net 网页已过期且浏览器后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36753076/

相关文章:

c# - WPF 转换器抛出对象引用未在设计时设置

c# - 使用二进制搜索或并行编程在 C# 中搜索 SQL Server 数据库

c# - 为什么我的 winforms 组合框显示的是对象的名称而不是我指定的显示成员?

javascript - 如何在 javascript 中使用 asp.net session ?

asp.net - ASP3 和 ASP.NET session 共享

c# - MVC 4 回发空 View 模型

c# - 从 C# .NET 中的 DataTable 到 JSON

c# - ASP.Net Identity - AddLogin userId 变为 null

asp.net - 需要有关选择数据访问方法的建议

javascript - 如何在firefox上使用parent.parent.document.getElementById? ASP.NET