C# 使gridview列不可见后,无法检索该列的值

C# 使gridview列不可见后,无法检索该列的值,c#,asp.net,C#,Asp.net,我有一个gridview说gv1。它有5列。我在更改下拉选择时绑定gridview。绑定后,我将第4列(gv1.列[3])和第5列(gv1.列[4])设置为可见false gv1.Columns[3].Visible = false; gv1.Columns[4].Visible = false; 我以后无法访问列值(这些是id)。 在访问之前,我试图让它可见,但仍然徒劳 { gv1.Columns[3].Visible = True; gv1.Columns[4].Visib

我有一个gridview说gv1。它有5列。我在更改下拉选择时绑定gridview。绑定后,我将第4列(gv1.列[3])和第5列(gv1.列[4])设置为可见false

gv1.Columns[3].Visible = false;
gv1.Columns[4].Visible = false;
我以后无法访问列值(这些是id)。 在访问之前,我试图让它可见,但仍然徒劳

{
    gv1.Columns[3].Visible = True;
    gv1.Columns[4].Visible = True;

    int id = Convert.ToInt32(row.Cells[4].Text.ToString().Trim());
}
我在“id”处得到错误“输入字符串的格式不正确。”
我发现,每个值的所有列都有空值。

您可以做一个变通

因为当您将服务器端的网格可见性设置为不可见时

在下一次回发期间,gridview不会在中渲染

因此,将网格视图保留在Div标记中。并使DIV标记样式不可见

因此,您可以在页面用户看不到网格的同时,随意访问gridview值@the sametime

…Hai avi


看看这个,它可能很有用,并且可以访问它的值。

您是否尝试过ur GRIDKEYVALUE的DataKeyValue,它是否可以用于两列。我需要这两列的值,但它不应可见。无论是否呈现GridView,请检查页面中的GridView(HTML视图源)。请告诉我,我想你不能两个人拿columns@solairaja你想让她对div使用style.visibility=“hidden”或style.display=“none”。是的,但我只需要使两列不可见,而不是整个GridView。@solairaj这是我想的问题为什么我不能在访问值之前使列可见。在任何情况下,我都会在绑定后使列不可见;gv1.列[4]。可见=True;int id=Convert.ToInt32(row.Cells[4].Text.ToString().Trim());这很公平。而不是隐藏整个网格。我们可以隐藏RowDataBound事件上的特定单元格。很酷,我不知道。但是这是达到这个要求的好方法。嘿,巴德……我不能用样式表得到结果。但是我做了一个很糟糕的解决方案,它很适合我的要求。我刚把栏目的颜色改成背景色,呵呵。。。那两根柱子就看不见了。试过颜色错觉哈哈哈。