首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

一个取值有关问题,多谢

2012-02-09 
一个取值问题,谢谢!做个一全选删除功能,由button1激发,遇到取值主键问题~`!protectedvoidButton1_Click(ob

一个取值问题,谢谢!
做个一全选删除功能,由button1激发,遇到取值主键问题~`!

        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                foreach   (GridViewRow   gr   in   GridView1.Rows)
                {
                        CheckBox   chk   =   (CheckBox)gr.Cells[0].FindControl( "itemchk ");
                       

                        if   (chk.Checked)
                        {
                                string   id   =   GridView1.DataKeys.ToString();   //想获取当前行ID值,即主键值。
                                SqlDataSource1.UpdateCommand   =   "UPDATE   [ProjectData]   SET   [Passed]   =   1   WHERE   [ID]   =   ' "   +   id   + " ' ";
                                SqlDataSource1.Update();
                        }
                }

        }

提示错误,值不正确,update失败!

[解决办法]
> >

foreach (GridViewRow gr in GridView1.Rows)
{
// bad method
// CheckBox chk = (CheckBox)gr.Cells[0].FindControl( "itemchk ");
// just as below
CheckBox chk = (CheckBox)gr.FindControl( "itemchk ");

if (chk.Checked)
{
//string id = GridView1.DataKeys.ToString(); //想获取当前行ID值,即主键值。
//string id = GridView1.DataKeys[gr.RowIndex].Value.ToString(); //想获取当前行ID值,即主键值。
SqlDataSource1.UpdateCommand = "UPDATE [ProjectData] SET [Passed] = 1 WHERE [ID] = ' " + id + " ' ";
SqlDataSource1.Update();
}

热点排行