【发布时间】:2010-12-18 17:19:37
【问题描述】:
我正在使用 VS 2010。我有一个带有几个模板列的 GridView。我希望第二列根本不可见,但仍然存在,因此 javascript 将能够看到它的价值。 有人知道如何设置这个宽度值吗?
谢谢
【问题讨论】:
我正在使用 VS 2010。我有一个带有几个模板列的 GridView。我希望第二列根本不可见,但仍然存在,因此 javascript 将能够看到它的价值。 有人知道如何设置这个宽度值吗?
谢谢
【问题讨论】:
在第一列中放置一个 HiddenField,并将您需要放入的值放在其中的第二列中,而不是创建第二列。
【讨论】:
问题:
您的问题源于这样一个事实:当您隐藏数据绑定的 GridView 的列时,其有界值不再可用,如果您尝试访问它,您将得到一个空字符串。
解决办法:
在您的网格视图中启用 2 个事件:
RowDataBound:在这种情况下,您可以访问隐藏的单元格值(在隐藏之前)
protected void MyGridView_RowDataBound(Object sender, GridViewRowEventArgs)
{
// Here you store the value
this.sID = e.Row.Cells[1].Text;
}
RowCreated:在这种情况下隐藏单元格,在事件处理程序中写入:
protected void MyGridView_RowCreated(Object sender, GridViewRowEventArgs)
{
// then you hide the cell (Only the cell not the column)
e.Row.Cells[1].Visible = false;
}
在这些代码中,在我们将所需的值保存在另一个变量/数组中之后,我们可以轻松地隐藏单元格。您可以将该值放在隐藏的输入中,以便从 javascript 访问该值。
【讨论】: