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 に答える