asp.net - 当我点击后退按钮时,Chrome 提交表单时不显示任何弹出通知?

标签 asp.net google-chrome

Chrome 现在一天比一天糟糕。我有一个 ASP.NET 应用程序。当用户执行 POST 操作时。然后他单击一个链接(GET 操作)。然后单击浏览器后退按钮。 Chrome 再次执行 POST 操作。在任何其他浏览器中都没有问题。这是一个任何人都可以确认的例子。只需单击 POST 按钮,然后单击 GET 链接,然后单击返回按钮。创建 2 个 WebForm 页面,

WebForm1.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <input type="submit" value="POST" />
        <a href="WebForm2.aspx">GET</a>
    </form>
    Http Details:
    <%= Request.HttpMethod %>
    <%= DateTime.Now %>
</body>
</html>

WebForm2.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <input type="submit" value="POST" />
        <a href="WebForm1.aspx">GET</a>
    </form>
    Http Details:
    <%= Request.HttpMethod %>
    <%= DateTime.Now %>
</body>
</html>

更新:我在上面添加了DateTime.Now。这是观察结果,

Open WebForm1.aspx
Http Details: GET 9/24/2013 11:43:10 AM

Click Post Button,
Http Details: POST 9/24/2013 11:43:35 AM

Click GET Button(The Browser will redirect you too WebForm2.aspx),
Http Details: GET 9/24/2013 11:43:46 AM

Click Browser Back Button(The Browser will show WebForm1.aspx in address bar)
Http Details: POST 9/24/2013 11:44:17 AM

最佳答案

通过后操作的重定向进行响应通常是一种很好的做法:

  1. 浏览器 POST 表单:返回带有位置 X 的 HTTP/302
  2. 浏览器 GET X:提供页面 X
  3. 浏览器重新加载现在将执行 GET X

就像这样,当重新加载该页面时,将再次提供该页面,而无需再次尝试发布表单。

这可能也解决了您遇到的 Chrome 错误问题。

关于asp.net - 当我点击后退按钮时,Chrome 提交表单时不显示任何弹出通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764137/

相关文章:

python - 如何解析 Chrome 书签文件中的 date_added 字段?

c# - 如何更改 asp.net 图表控件系列的颜色?

c# - 如何使用 Datarow 和 DataTable 来填充单选按钮列表?

c# - 如果没有响应,如何取消 Web 服务调用

asp.net - 在 ASP.NET Web Form 中收集输入值的推荐方法是什么

CSS 在 firefox、chrome 和 ie 中的运行方式不同

html - 显示 unicode HTML 实体搞乱了我的风格

javascript - 为什么 Chrome 让我在这个循环中声明我的变量?

javascript - 从自定义模块模式 Javascript 库调用 XMLHttpRequest 时没有任何反应

ASP.NET GridView : How can we find which column was selected in gridview