复选框打开选中使用回发更改事件



我有一个网格视图,其中checkbox控件作为列,并带有用于插入数据库的Autopostback='true'。 除了我">更改页面"外,一切都可以正常工作 - 回发(?

当我返回页面时,我的选中复选框将被取消选中。

我的Page_Load有一个!IsPostBack,然后我绑定了我的网格视图(gwPlanning(

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        BindGridViewPlanning();
    }
}

和我的代码隐藏

protected void myCheckBox_OnCheckedChange(object sender, EventArgs e)
{
    CheckBox myCheckBox = (CheckBox)sender;
    GridViewRow row = (GridViewRow)myCheckBox.NamingContainer;
    string ThisWeekMinus2 = row.Cells[1].Text;
    bool status = myCheckBox.Checked;
    string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        SqlCommand cmd = new SqlCommand("UPDATE [BI_Planning].[dbo].[tblPlanning] SET [This Week - 2] = @IsActive WHERE ActivityID = @ID  ", con);
        cmd.Parameters.Add("@IsActive", SqlDbType.Bit).Value = myCheckBox.Checked;
        cmd.Parameters.Add("@ID", SqlDbType.Int).Value = ThisWeekMinus2;
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
    }        
}

知道我错过了什么吗?

解决方案只是添加:

checked='<%#Convert.ToBoolean(Eval("....你的列...."((%>

<asp:CheckBox ID="CheckBox1" AutoPostBack="true"  Checked='<%#Convert.ToBoolean(Eval("....YourColumn...."))%> OnCheckedChanged="myCheckBox_OnCheckedChange" runat="server" Style="text-align: center" />

最新更新