关于GridView的DataKeyNames属性取值问题

时间:2021-05-02

下面的代码是设置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),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章