我遇到了这个奇怪的问题。我有一个RowDataBound
事件处理程序用于转发器控件。
我有代码:
HiddenField hfIpAddressRangeId = (HiddenField)e.Row.FindControl("hfIpAddressRangeId");
hfIpAddressRangeId.Value = .IpAddressRangeId.ToString();
但是当我查看html时,未设置该控件的值。但是当我使用内联C#设置值时,例如
<asp:HiddenField runat="server" Value='<%# Eval("IpAddressRangeId ") %>' ID="hfIpAddressRangeId" ViewStateMode="Enabled" />
正在设置该值。当我绑定每个数据行时,我不确定为什么这不起作用?
答案 0 :(得分:3)
看起来IpAddressRangeId
是数据源的一部分,因此在第二个示例中使用了Eval
。你试过这个吗?:
HiddenField hfIpAddressRangeId = (HiddenField)e.Row.FindControl("hfIpAddressRangeId");
hfIpAddressRangeId.Value = DataBinder.Eval(e.Row.DataItem, "IpAddressRangeId").ToString();