C#复选框.选中的属性不反映检查更改
本文关键字:检查 属性 复选框 | 更新日期: 2023-09-27 18:19:45
我有一个包含数据列表的表单,该数据列表绑定到包含项目列表和true/false标志的数据源。如果为true,则选中myCheck复选框:
<form id="myForm" runat="server">
<asp:Button ID="save" runat="server" Text="Save" OnClick="save_Click" />
<br />
<asp:DataList runat="server" id="myList" onitemdatabound="myList_ItemDataBound">
<HeaderTemplate>
<th>Item Name</th>
<th id="thCheck" runat="server">Check?</th>
</HeaderTemplate>
<ItemTemplate>
<td id="tdName" runat="server"><%# Eval("Name") %></td>
<td runat="server"><asp:CheckBox id="myCheck" runat="server" Checked="false" /></td>
</ItemTemplate>
</asp:DataList>
单击"保存"后,我想查看哪些项目已被选中。我正在使用以下内容迭代数据列表中的项目:
protected void save_Click(Object sender, EventArgs e)
{
String Name;
Boolean omit;
foreach (DataListItem item in myList.Items)
{
CheckBox omitCheck = (CheckBox)item.FindControl("myCheck");
if (omitCheck != null)
{
if (omitCheck.Checked == true) // This line is my problem!!
{
// do stuff
}
break;
}
}
FindControl
似乎工作正常,并返回一个复选框,但该值始终为false,即使我选中了其中一些复选框。如果我在aspx页面中将复选框的值设置为True,则omitCheck.Checked
始终为True。未禁用ViewState
。
我是新手,所以肯定有一个显而易见的答案。