从按钮上的GridView获取数据

时间:2012-02-05 17:51:53

标签: asp.net gridview postback buttonclick dataitem

我的问题是:

我有一个GridView,它绑定到具有CheckBoxes列的声明的DTO对象列表。另外,我在页面上有一个“保存”按钮。我的任务结束于获取所有行,检查CheckBox并获取包含数据。不幸的是,Button1_Click上的row.DataItem = null,因为,我正在使用if(!IsPostBack)gw.DataBind()语句(否则,我无法获得CheckBox状态)。你能给我解决问题的最佳做法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

如果您执行if(!IsPostBack) --> gw.DataBind(),则会重新初始化您的GridView,并且复选框将设置为再次取消选中。

在您的情况下,在Button1_Click事件中,您可以遍历DataRow上的每个GridView,找到选中该复选框的行并获取所有选定的行数据。< / p>

foreach (GridViewRow gvRow in gw.Rows) {
// Find your checkbox
    CheckBox chkBox = (CheckBox)gvRow.FindControl("checkBox");

    if (chkBox.Checked) {
    // Get your values 
        string value1 = gvRow.Cells[1].Text;
        string value2 = gvRow.Cells[2].Text;
        // etc...
    }
}