Asp.net 无法访问不可见时ASP网格视图中的绑定列

Asp.net 无法访问不可见时ASP网格视图中的绑定列,asp.net,gridview,boundcolumn,Asp.net,Gridview,Boundcolumn,我有一个带边框的GridView。前两列是隐藏的,我想使用gridView1访问它们。行[0]。单元格[0]。文本和gridView1。行[0]。单元格[1]。文本和我分别得到一个空字符串。当列更改为可见时,我可以访问这些值。 我曾尝试将列宽更改为零,正如在其他一些论坛上建议的那样,但这并没有解决问题。是否有人指出我可能做错了什么。如果列是DataKeyNames集合的一部分,那么您应该从GridView.DataKeys[index].value属性中获取它们的值,如上所示 但是,如果它们不是

我有一个带边框的GridView。前两列是隐藏的,我想使用gridView1访问它们。行[0]。单元格[0]。文本和gridView1。行[0]。单元格[1]。文本和我分别得到一个空字符串。当列更改为可见时,我可以访问这些值。
我曾尝试将列宽更改为零,正如在其他一些论坛上建议的那样,但这并没有解决问题。是否有人指出我可能做错了什么。

如果列是
DataKeyNames
集合的一部分,那么您应该从
GridView.DataKeys[index].value
属性中获取它们的值,如上所示

但是,如果它们不是
DataKeyNames
集合的一部分,则可以使用以下方法确保该值在ViewState中保持不变(与ASP.NET 2+中隐藏字段的正常行为相反)


这是ASP.NET中的典型行为,Visible=false,仅使控件在代码隐藏中可用

最好在该列上应用以下样式:

display:'none'

将css类
hiddencol
添加到要隐藏的列中。将
hiddencol
类添加到css中,您就可以开始了

您仍然可以访问代码隐藏中的列,但它不会显示在页面上

<asp:BoundField DataField="Site_ID" ItemStyle-CssClass="hiddencol" />

.hiddencol
{
    display: none;
}

希登科尔先生
{
显示:无;
}

如果它以html格式呈现为一个表,并且是面向行的,您可以在列上设置display:none样式吗?我不是说你不能,我只是从来没有试过!它会在列中的每个td单元格上显示:无样式吗?既然你提到了它,我想知道。。。它可能会将这种风格放在TD上,但不确定这是否可行。谢谢:)
<asp:BoundField DataField="Site_ID" ItemStyle-CssClass="hiddencol" />

.hiddencol
{
    display: none;
}