简言之:
设置GridView某一列的visable=false之后会影响到数据绑定,并且无法取到数据。一般情况下,我们需要隐藏的是id列。
解决方案:
在后台数据绑定时候指定:
this.Gridview1.DataKeyNames=new string[]{“id”};
或者在属性编辑器里面编辑DataKeyNames:id 当然如果出现两列需要隐藏,并且需要取值,那么可以在DataKeyNames中用”,”隔开每个字段。
接下来是取数据:
如果只有一个关键字,也就是DataKeyNames只有一个值的话,那么可以使用:
this.Gridview1.DataKeys[e.RowIndex].value.ToString();
这种方式是取当前行中的DataKeyNames中的索引为0的关键字的值,也就是第一个关键字的值。当然只有一个关键字的话,也就无所谓了。
也可以使用:
this.GridView1.DataKeys[e.RowIndex][“id”].ToString();
如果有多个关键字,那么只能使用后面这种方式。
简单记录。以备后查。