我的“激活/取消激活”按钮出现问题。当我按下Deactivate按钮时,它将切换到“Inactive”状态并更新我的数据库。但当我按下激活按钮时没有任何反应。我尝试了很多东西,但我发现我的代码出了什么问题。希望有人能听到我的声音。谢谢!
protected void BindGridView()
{
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter("Select id,username,user_type,first_name,last_name,email,address,contact_number,status FROM user_tbl", con);
con.Open();
da.Fill(dt);
con.Close();
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
// id of edit row
string id = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
string status = GridView1.Rows[e.NewSelectedIndex].Cells[7].Text;
int newstat = 0;
if (status == "Active")
{
status = "Inactive";
newstat = 0;
}
if (status == "Inactive")
{
status = "Active";
newstat = 1;
}
// update record
MySqlCommand cmd = new MySqlCommand("update user_tbl set status='" + newstat + "'where ID=" + id, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
BindGridView();
}
答案 0 :(得分:0)
如果点击两次相同按钮,我认为SelectedIndexChanging
不会第二次触发。尝试将您的代码从SelectedIndexChanging
放入OnClick="EventHandler"
。
<asp:Button OnClick="myButtonClick" />
void myButtonClick(Object sender, EventArgs e)
{
...
}