- ·上一篇内容:通过一个错误认识一下枚举类型
- ·下一篇内容:“Web请求在未运行测试的情况下成功完成。”的解决犯法
关于GridView的DataKeyNames属性取值问题
下面的代码是设置GridView的DataKeyNames属性。
<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" >
<asp:BoundField DataField="ID" Visible="false" />
</asp:GridView>
若是在.cs文件中的话,设置DataKeyNames必须在DataBind()之前。
GridView1.DataKeyNames = new string[] { "ID" }; //设置数据源 //GridView1.DataSource = new DataTable(); GridView1.DataBind();
将某列的Visible属性设置为false以后,如果直接使用下面这样的代码,获取不到该列的值。
string s = GridView1.SelectedRow.Cells[0].Text;
据说是因为设置为false以后,GridView不对其进行数据绑定,有待查证。
那么,将该列设置为DataKeyNames的话,则可以通过下面这样的代码来获取。
object o = GridView1.SelectedDataKey["ID"];
因为个人不喜欢在C#代码里边控制CSS,也不喜欢在Row事件绑定中去设置Cell的Visible属性,所以选择了此方法。
原文地址:http://www.cnblogs.com/z119977662/archive/2010/02/05/1664314.html
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
Tags:GridView 主键 C# ASP.NET DataKeyNames
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论