[英]The Value Of A Check Box Is Empty Using An Enumeration Inside A Repeater (ASP.NET Web Forms)
我有一个中继器,我用枚举的值设置了html复选框控件的值,而不是硬编码一个幻数。 当我尝试访问转发器的ItemCreated事件处理程序中的html复选框控件时,该值为空字符串。 为什么会这样,我该如何解决?
C#代码
protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
{
var myObject = e.Item.DataItem as MyObject;
if (myObject != null)
{
var checkBox = e.Item.FindControl("checkbox1") as HtmlInputCheckBox
// The value is empty!
var value = checkBox.Value;
}
}
无法运作
<asp:Repeater ID="Repeater1" OnItemCreated="Repeater1_ItemCreated" runat="server">
<ItemTemplate>
<input type="checkbox" id="checkbox1" value='<%# SomeEnum.Value %>' />
</ItemTemplate>
</asp:Repeater>
工作中
<asp:Repeater ID="Repeater1" OnItemCreated="Repeater1_ItemCreated" runat="server">
<ItemTemplate>
<input type="checkbox" id="checkbox1" value="1" />
</ItemTemplate>
</asp:Repeater>
即使在不再重新绑定Repater的情况下,也会在ItemDataBound
之前以及每个回ItemCreated
中触发ItemCreated
来重新创建他控制的内容。 因此,如果您需要访问任何数据绑定WebControl的DataSource
(如Repeater
我将不使用ItemCreated。
除此之外,如果要在服务器上find
它,请选中复选框runat=server
(或使用ASP.NET CheckBox
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.