加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

有关GridView的DataKeyNames属性取值问题

发布时间:2023-07-20 13:22:55 所属栏目:教程 来源:
导读:下面的代码是设置GridView的DataKeyNames属性。

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" >
<asp:BoundField DataField="ID" Visible="false" />
</asp:GridView>

下面的代码是设置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属性,所以选择了此方法。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章