ASP.NET的GridView控件的DataKeys的count属性为0

在GridView控件的OnRowCommand事件中想获取行号来取得该行数据的主键id号,可是出现了ASP.NET的GridView控件的DataKeys的count属性为0的问题,很是费了一番功夫才找到原因,原因也很简单。想要解决这个问题只需要在GridView中设置DataKeyNames="此为主键字段名"即可。

int rowId = int.Parse(e.CommandArgument.ToString());            //行号
int id = int.Parse(ClassGridView.DataKeys[rowId].Value.ToString());     //获取该行的数据的主键的值


aspx页设置如下:

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="CheckView" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>">查看子类别</asp:LinkButton>

原文地址:https://www.cnblogs.com/wangzl1163/p/6341200.html