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