本人使用gridview创建了一个check的模板列,还有一个包含主键的隐藏列。为什么这两列都无法取到正确的值,每次取都是空值??????

解决方案 »

  1.   

    估计是你取的方法有问题,将你的代码贴出来看看
    另外,最好不要用主键隐藏列,而是用DataKeyNames
      

  2.   

    this.GridView1.Rows[0].Cells[0].Text;用的这个方法取得值,取不出来数据。请大家帮帮忙,我才用asp.net不久。
      

  3.   

    this.GridView1.Rows[0].Cells[0].Text; 用的这个方法取得值,取不出来数据。 请大家帮帮忙,我才用asp.net不久。
    比如:Label lb = GridView1.Rows[0].FindControl("labelID") as Label;
      

  4.   

    设置DataKeyNames值为表中的PK字段看你是什么事件了 更新、删除还是编辑?
    更新
    int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
    编辑
    int id = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value);
    删除
    int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);模板列事件:
    Control cmdSource = (Control)e.CommandSource;
    GridViewRow gvr = (GridViewRow)cmdSource.NamingContainer;
    int rowIndex = gvr.RowIndex;
    int id = Convert.ToInt32(GridView1.DataKeys[rowIndex].Value.ToString());//取得ID还有别的方法 比如和 在HTML代码里 让模板列中的BUTTON 按钮的CommandArgument属性和表中的PK值绑定
    在模板列中取值也是可以的
      

  5.   

    本人使用gridview创建了一个check的模板列,还有一个包含主键的隐藏列。 为什么这两列都无法取到正确的值,每次取都是空值??????
    -------------------------------------------------------------如果真的想用 this.GridView1.Rows[0].Cells[0].Text; 去找ID值的话
    那你隐藏的那列 应该不包括在 列索引内才对你既然把PK列隐藏 是找不到的用我上面给你的方法吧