private void RolesBind()
{
string[] roles = Roles.GetAllRoles();
gvwRoles.DataSource = roles;
gvwRoles.DataKeyNames = roles;
gvwRoles.DataBind();
}
请教为什么DataKeyNames会错?应该怎么改呢?
{
string[] roles = Roles.GetAllRoles();
gvwRoles.DataSource = roles;
gvwRoles.DataKeyNames = roles;
gvwRoles.DataBind();
}
请教为什么DataKeyNames会错?应该怎么改呢?
解决方案 »
- 网站出错了....急
- 关于MVC进行数据查询和 Html.Telerik控件,求助~~~~~~~~~~~
- lable怎么限制显示的字数
- 急急急```谁会用setupfactory 来打包 ASP.NET程序`` 急急急```
- 求助:添加了母版的页面再应用CSS效果不能切换到视图状态??!
- 关于xml路径问题!
- 网页中的变量问题,新手小问题,请懂的进来解答一下?
- dropdownlist 选项的模糊查找
- 用过ASP.net + WML开发WAP程序的高人过来帮帮俺啊!!
- datagrid的删除按钮能不能点击它出现javascript确认框?
- 如何根据URL获取网站的状态...在线等待....
- asp.net网站中关于角色,权限的设置是直接使用asp.net配置好,还是自己重新建表写?
楼上正解,DataKeyNames 指定的是列名,字段属性名之类的名称,并不是直接的数据源
把这个ID改成你角色的ID字段就可以了。
这样添加GridView1.DataKeyNames = new string[] {"ID1","ID2","ID3"}; 取值的时候
Gridview1.DataKeys[e.RowIndex].Values[0].ToString(); //ID1
Gridview1.DataKeys[e.RowIndex].Values[1].ToString(); //ID2
Gridview1.DataKeys[e.RowIndex].Values[2].ToString(); //ID3
以此类推