Javascript 获取ASP.net中服务器端的复选框列表选定值

Javascript 获取ASP.net中服务器端的复选框列表选定值,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,单击另一个复选框时,我正在更新客户端上的复选框列表值。 当我尝试在服务器端获取所选值时,即使在客户端检查了值,也会返回false。chkboxList是服务器端的数据绑定 下面是示例代码 ASPX页面定义: <input type="checkbox" id="chkSelectAll" runat="server" class="col-md-2 control-label" onclick="checkedAll()" /> <label class="col-md-2 c

单击另一个复选框时,我正在更新客户端上的复选框列表值。 当我尝试在服务器端获取所选值时,即使在客户端检查了值,也会返回false。chkboxList是服务器端的数据绑定

下面是示例代码

ASPX页面定义:

<input type="checkbox" id="chkSelectAll" runat="server" class="col-md-2 control-label" onclick="checkedAll()" />
<label class="col-md-2 control-label">Select All </label>
<asp:CheckBoxList ID="chkboxList"  runat="server" CausesValidation="True" 
                                RepeatColumns="4" RepeatDirection="vertical" RepeatLayout="Table" ClientIDMode="Static" EnableViewState="true" >
</asp:CheckBoxList>

全选
Javascript:

function checkedAll() {
    var checkedItems = true;
    var list = document.getElementById("<%=chkboxList.ClientID%>");
    var chklist = list.getElementsByTagName("input");    
    for (var i = 0; i < chklist.length; i++) {
        if (chklist[i].type == "checkbox") {
            chklist[i].checked = checkedItems;
         }
    }
}
函数checkedAll(){
var checkedItems=true;
var list=document.getElementById(“”);
var chklist=list.getElementsByTagName(“输入”);
对于(变量i=0;i
服务器端打开按钮单击:

List<string> checkedItems = chkboxList.Items.Cast<ListItem>().Where(n => n.Selected))
         .Select(n => n.Value)
         .ToList();
List checkedItems=chkboxList.Items.Cast()。其中(n=>n.Selected))
.选择(n=>n.Value)
.ToList();

即使在客户端选中复选框,checkedItems仍返回“0”。

可能不相关,但您的onclick代码未编译,在
选定项上有一个额外的括号)
。这可能是在此处复制粘贴和编辑时发生的。。