Asp.net 页面刷新时执行的网格的模板字段(按钮)

Asp.net 页面刷新时执行的网格的模板字段(按钮),asp.net,Asp.net,在我的分层网格中有一个按钮作为模板字段,在该按钮上我正在更新一些数据,但当用户点击浏览器刷新按钮时,它会自动执行..解决方案是什么 这是我的密码 protected void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e) { if (!Page.IsPostBack) { if (e.Co

在我的分层网格中有一个按钮作为模板字段,在该按钮上我正在更新一些数据,但当用户点击浏览器刷新按钮时,它会自动执行..解决方案是什么

这是我的密码

        protected void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e)
          {
              if (!Page.IsPostBack)
              {
                  if (e.CommandName == "UpdateBillData")
                  {

                      GridViewRow row = ((Control)e.CommandSource).NamingContainer as GridViewRow;
                      int index = row.RowIndex;

                      int billgenID = Convert.ToInt32(GridView1.DataKeys[index].Value);

                      DropDownList ddmonths = (DropDownList)row.FindControl("DDBillingMonths");
                      TextBox cunit = (TextBox)row.FindControl("txtCurrBillUnits");
                      TextBox amountbDue = (TextBox)row.FindControl("txtAmountBDueDate");
                      TextBox advItax = (TextBox)row.FindControl("txtAdvIncomeTax");
                      TextBox whtax = (TextBox)row.FindControl("txtWholdingTax");
                      TextBox gst = (TextBox)row.FindControl("txtGst");
                      TextBox amountafterdd = (TextBox)row.FindControl("txtAmtAfterDD");
                      TextBox duedate = (TextBox)row.FindControl("txt_BillDueDate");
                      TextBox billingdate = (TextBox)row.FindControl("txt_BillGenDate");
                      TextBox remarks = (TextBox)row.FindControl("txtOthers");

                      //Update Bill Data Procedure
                      Database db = DatabaseFactory.CreateDatabase();

                      DbCommand cmd = db.GetStoredProcCommand("sp_Update_GenBill");

                      db.AddInParameter(cmd, "@gridrowID", System.Data.DbType.Int32);
                      db.SetParameterValue(cmd, "@gridrowID", billgenID);

                      db.AddInParameter(cmd, "@bmonth", System.Data.DbType.String, 3);
                      db.SetParameterValue(cmd, "@bmonth", ddmonths.SelectedValue);

                      //Execute Stored Procedure
                      int i = 0;
                      i = db.ExecuteNonQuery(cmd);

                      if (i != 0)
                      {
                          showalert("Succesfuly Updated...");
                      }
                      else
                          showalert("Error occured while updating...");
                  }
              }
         }

我猜在每次刷新之前,您的最后一次回发都是一个控件,带有与之相关联的命令。在浏览器中单击“刷新”时,它实际上会重新发送命令。试着直接进入浏览器的地址字段并按ENTER键。您得到相同的结果吗?

我有一个GridView,此按钮是与之关联的控件。解决方案是什么令人惊讶的是,通过在按钮周围放置更新面板,问题似乎得到了解决。.哼哼,奇怪。更新面板只刷新面板中的内容,而不是整个页面。所以,如果您的命令真的启动了,它仍在启动…我已经彻底检查并尝试提供输入,然后刷新,令人惊讶的是,数据库中没有任何更改,但在前面的场景中,它是在页面刷新时更新数据库…真的很奇怪。