0
我有一个中继器,并使用枚举的 值设置了html复选框控件的值,编码一个幻数。当我尝试 访问中继器的ItemCreated事件处理程序 中的html复选框控件时,该值为空字符串。为什么会这样,我该如何解决它?中继器(ASP.NET Web窗体)中使用枚举的复选框的值为空
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>
尝试攻入OnItemDataBound。 – Malk 2012-03-01 22:12:32
这是解决方案。感谢Adam!发生了什么事是我选择了ItemCreated而不是ItemDataBound(它们在intellisense中彼此紧挨着)。我有一种预感,它与控制系统的生命周期有关,但我没有看到我接错了事件!非常感谢! – Halcyon 2012-03-01 22:18:55