我的表单中有一个简单的静态 CheckboxList :
<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeBehind="Groupes.aspx.cs" MaintainScrollPositionOnPostback="true" Inherits="WebApp.Form" %>
<form runat="server">
<asp:CheckBoxList ID="CheckBoxList1" runat="server" >
<asp:ListItem Text ="Text1" Value="1" ></asp:ListItem>
<asp:ListItem Text ="Text2" Value="2" ></asp:ListItem>
<asp:ListItem Text ="Text3" Value="3" Selected="True" Enabled="false></asp:ListItem>
</asp:CheckBoxList>
</form>
在按钮单击事件(PostBack)上,我试图在后面的代码中检索 Selected CheckBoxList 项的值,如下所示:
List<string> selectedValues = CheckBoxList1.Items.Cast<System.Web.UI.WebControls.ListItem>().Where(li => li.Selected).Select(li => li.Value).ToList();
但 selectedValues.Count 始终为 1。仅计算已禁用且 Selected 设置为“True”的 ListItem:
<asp:ListItem Text ="Text3" Value="3" Selected="True" Enabled="false></asp:ListItem>