Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 获取checkboxlist控件中复选框的值_Asp.net_Vb.net - Fatal编程技术网

Asp.net 获取checkboxlist控件中复选框的值

Asp.net 获取checkboxlist控件中复选框的值,asp.net,vb.net,Asp.net,Vb.net,我的页面上有一个asp:CheckboxList,我需要获取选中复选框的值 因此,我有一个linq查询,然后循环执行,但我发现无法检索与各个复选框关联的值 这是我的密码: Dim checkboxValues = cblmyCheckboxes.Controls.OfType(Of CheckBox)().Where(Function(c) c.Checked) For Each c As CheckBox In checkboxValues

我的页面上有一个asp:CheckboxList,我需要获取选中复选框的值

因此,我有一个linq查询,然后循环执行,但我发现无法检索与各个复选框关联的值

这是我的密码:

        Dim checkboxValues = cblmyCheckboxes.Controls.OfType(Of CheckBox)().Where(Function(c) c.Checked)

        For Each c As CheckBox In checkboxValues
            Response.Write(c.Value)
        Next
我如何获得这些值


谢谢

您的复选框列表包含
列表项
而不是复选框。因此,cblmycheckbox.Items是一个
ListItemCollection

实际上,一个更快更简单的方法是:

For Each li as ListItem in cblmyCheckboxes.Items
       If (li.Selected) Then
           Dim XX = li.Value
          '' Do something with Value
       End If
Next

通过使用LINQ,您可以有效地循环检查复选框列表项(在您的LINQ函数的后台(无论如何都是错误的),然后在
中再次循环检查每个
——也可以只做一个…

您需要使用
选中的
,而不是
选中的

var selectedValues = (CheckBoxList1.Items.Cast<ListItem>()
.Where(i => i.Selected)
.Select(i => i.Value))
.ToList();

Dim selectedValues = (CheckBoxList1.Items.Cast(Of ListItem)()
.Where(Function(i) i.Selected)
.[Select](Function(i) i.Value))
.ToList()
var selectedValues=(CheckBoxList1.Items.Cast()
.其中(i=>i.Selected)
.选择(i=>i.Value))
.ToList();
Dim selectedValues=(复选框List1.Items.Cast(属于ListItem)()
.其中(功能(i)i.选定)
[选择](功能(i)i.值)
托利斯先生()

当你运行代码时会发生什么?出于好奇,为什么是LINQ?你为复选框设置了值吗?设置了值,我得到一个错误,说值不是复选框的成员。我使用LINQ获取所有选中的复选框,然后我循环这些…@999cm999-我知道你使用LINQ的原因-我只是我很好奇为什么使用LINQ,而不是一个简单的循环。我不是说它错了,我只是真的很好奇而已。