'/>
我想在后面的代码中访问隐藏字段中的值。我知道当项目被绑定时我需要这样做,但我似乎无法解决该怎么做。
protected void addLabelsWhereNeeded(object sender, EventArgs e)
{
// Get Value from hiddenfield
}
答案 0 :(得分:1)
尝试添加
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>
只需确保索引正确的单元格并在该单元格内正确控制。
答案 1 :(得分:0)
答案 2 :(得分:0)
在数据绑定时,我确实看到了您希望通过此私有字段实现的目标?在RowDataBound事件中,您可以访问整个数据项,因此不需要使用隐藏值。
伪代码:
protected void Grid1_RowDataBound(object sender, GridViewRowEventArgs)
{
if(e.RowType == RowType.DataRow)
{
}
}
将断点设置为if子句并使用quickwatch查看如何转换当前绑定的DataItem以获得对所有属性的完全访问权限,即使它们未绑定到任何控件也是如此。