C# 访问gridview hiddenfield
' /> 我想访问代码隐藏中隐藏字段中的值。我知道我需要这样做时,该项目是绑定,但我似乎无法解决如何做到这一点C# 访问gridview hiddenfield,c#,asp.net,gridview,C#,Asp.net,Gridview,' /> 我想访问代码隐藏中隐藏字段中的值。我知道我需要这样做时,该项目是绑定,但我似乎无法解决如何做到这一点 protected void addLabelsWhereNeeded(object sender, EventArgs e) { // Get Value from hiddenfield } 是的,你是对的。您必须在ItemDateBound上执行此操作。选中“它必须工作”尝试添加 OnRowDataBound="addLabelsWhereNeeded" 到您的Gr
protected void addLabelsWhereNeeded(object sender, EventArgs e)
{
// Get Value from hiddenfield
}
是的,你是对的。您必须在ItemDateBound上执行此操作。选中“它必须工作”尝试添加
OnRowDataBound="addLabelsWhereNeeded"
到您的GridView。然后将相应单元格中的控件强制转换为HiddenField以获取值:
protected void addLabelsWhereNeeded(object sender, GridViewRowEventArgs e)
{
HiddenField hf = e.Row.Cells[0].Controls[1] as HiddenField;
String theValue = hf.Value;
}
假设您已将GridView定义为:
<asp:GridView runat="server" ID="gv" OnRowDataBound="addLabelsWhereNeeded">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%--your hidden field--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
只需确保您正在为正确的单元格和该单元格内的正确控件编制索引。我完全明白您在数据绑定时希望通过这个私有字段实现什么?在RowDataBound事件中,您可以访问整个数据项,因此不需要使用隐藏值 伪代码:
protected void Grid1_RowDataBound(object sender, GridViewRowEventArgs)
{
if(e.RowType == RowType.DataRow)
{
}
}
在if子句中设置断点,并使用quickwatch查看如何强制转换当前绑定的DataItem以获得对所有属性的完全访问权限,即使它们未绑定到任何控件。how!这就是我问的原因。我以前用中继器做过,但我似乎不能在gridview中使用相同的属性。我知道这是一个道理,但似乎无法得到价值。((HiddenField)e…(hdField)).Value;对不起,我真的很笨。我以前从未使用过GridView。我实际上是想修改别人的代码。你能解释一下“单元格”编号是什么吗?该编号用作该行的单元格索引。假设您在gridview中定义了ColumnA、ColumnB和ColumnC。在您的代码隐藏中,使用单元格[0]进行索引将是该行中的ColumnA,使用单元格[2]进行索引将是该行中的ColumnC。