1

我的页面中有一个 asp.net 按钮,单击该按钮后,每当我刷新同一页面时都会一次又一次地单击它。

我试过;

if (!IsPostBack)
   {
   .....         
   }

对于按钮的点击功能,但在这种情况下按钮不起作用。

 <asp:Button ID="btnCommentSubmit" runat="server" Text="Submit" CssClass="leaveAComment" onclick="btnCommentSubmit_Click" />

上面是按钮。

protected void btnCommentSubmit_Click(object sender, EventArgs e)
    {

        string cityID = BusinessClass.Default.findCityIDByCountryAndCityName(Request.QueryString["city"].ToString(), "url").ToString();
        BusinessClass.Default.makeComment(txtComment.Text, Session["userID"].ToString(), cityID);
        txtComment.Text = null;

    }

这就是功能。

4

2 回答 2

3

如果没有误会,您的问题是在单击按钮后按 F5 时。尝试重新提交表单是正常行为,与 asp.net 无关,但与一般浏览器有关。

F5 导致重新执行对服务器的最后一个请求,在您的情况下是 POST 请求。

避免此问题的一种方法是实现 Web 模式Post/Redirect/Get

于 2012-05-23T22:30:39.893 回答
1

使用一点 JavaScript 即可轻松修复。

document.onkeydown = function() {
      if(event.keyCode==116) {
      event.keyCode=0;
      event.returnValue = false;
      }
 }

当您按 F5 时,这将停止重复重新发送。

于 2012-05-24T22:56:07.627 回答