[英]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.