取得GridView某行的DataKey

时间:2021-05-23 07:42:41

首先绑定DataKeyNames 
GridView.DataKeyNames = new string[] { "字段名称" }; 
取值 
string aaa= GridView.DataKeys[e.Row.RowIndex].Value.ToString();

1、在绑定时设置主键: 
//设置主键; 
        GridView1.DataKeyNames = new string[] { "id" }; 
        GridView1.DataBind(); 
2、获取键值: 
 GridView1.DataKeys[e.RowIndex].Value.ToString();

按钮事件里添加 
string str_dk= GridView1.DataKeys[e.Row.RowIndex].Value.ToString();

如果GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),那么在为GridView绑定数据时对库表的每个记录的指定字段值要作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而 View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode) 的值。若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。 
  同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。