首页 文章

模板复选框选中属性在Gridview中变为false以进行删除操作

提问于
浏览
3

我在gridview中使用模板CheckBox删除多行,当我通过选择CheckBox选择多行并执行删除操作时,它似乎被选中,CheckBox在下面的代码中没有返回true .

protected void Button6_Click(object sender,EventArgs e){

foreach (GridViewRow row in GridView1.Rows)
        {
            LinkButton ch = new LinkButton();
            ch = (LinkButton)row.FindControl("l1");
            id = Convert.ToInt16(ch.CommandArgument);
            CheckBox chs = new CheckBox();
            chs = ((CheckBox)row.FindControl("c1"));

            if (chs.Checked == true)
            {
                DeleteSelected(id);
            }
        }
    }

private void DeleteSelected(short id)
{
    var ch = from a in empd.Employees where (a.ID == id) select a;
    empd.Employees.DeleteAllOnSubmit(ch);
    empd.SubmitChanges();
    display_emp();
}

有人可以帮我解释为什么 CheckBox 在调用函数时没有返回真值 .

那么现在我已经修复了所有连接,请刷新数据库 . 请在下面的链接中获取Web应用程序 .

http://www.ziddu.com/download/20716096/WebApplication.zip.html请帮我解释为什么选中的复选框在代码中没有返回true .

1 回答

  • 1

    Details: 在开始时添加if(IsPostback),否则它只会重置您的网格控件 . 以下示例

    Solution:

    if (!IsPostBack)
     {
         empd = new Employee_DetailsDataContext();
         empd.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["DemosConnectionString1"].ConnectionString;
    
         display_emp();
     }
    

相关问题