0
私は階層グリッドのテンプレートフィールドとしてボタンを持っています。そのボタンにはいくつかのデータが更新されていますが、ユーザーがブラウザの更新ボタンを押すと、ここページリフレッシュで実行されるグリッドのテンプレートフィールド(ボタン)
が
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...");
}
}
}
の後ろに私のコード
私はGridViewを持っており、このボタンはそれに関連付けられたコントロールです。 Whats the Solution – user342944
驚くべきことに、問題はボタンの周りにUPDATE PANELを置くことによって解決されるようです。 – user342944
UpdatePanelは、ページ全体ではなくパネル内の内容のみを更新します。だからあなたのコマンドが本当に発砲していたら、まだ発砲しています... – bitxwise