C# 从ListView获取选中的复选框值

C# 从ListView获取选中的复选框值,c#,asp.net,C#,Asp.net,我在一个列表视图中有以下标记,每行有一个复选框对象-我想从中找到选中的复选框值: <asp:ListView ID="chkboxList" runat="server" DataKeyNames="id"> <LayoutTemplate> <table id="audiencechklistbox" class="table table-striped bootstrap-datatable datatable dataTable ta

我在一个列表视图中有以下标记,每行有一个复选框对象-我想从中找到选中的复选框值:

<asp:ListView ID="chkboxList" runat="server" DataKeyNames="id">
    <LayoutTemplate>
        <table id="audiencechklistbox" class="table table-striped  bootstrap-datatable datatable dataTable table-hover">
            <tr>
                <th>Audience Name</th>
            </tr>
            <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
            </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr>
        <td>
            <asp:CheckBox ID="audienceList" value='<%# Eval("id") %>' Text='<%# Eval("name") %>' runat="server" CssClass="checkbox_nowrap"/>
        </td>
            </tr>
    </ItemTemplate>
</asp:ListView>

观众姓名
我试图使用以下内容来查找复选框中选定的,但似乎无法找到除选定文本以外的任何内容。我在SO中看过很多类似的问题,但似乎找不到一个符合我的情况

如何查找选定的值而不是复选框显示的文本?我的Lambda表达式没有为x.value提供Intellisense选项

        var findCheckedQuery = chkboxList.Controls[0]
            .Controls
            .Cast<Control>()
            .Select(ctrl => ctrl.FindControl("audienceList") as CheckBox)
            .Where(chk => chk != null && chk.Checked);                
            String[] result = findCheckedQuery.Select(x => x.Text).ToArray();
var findCheckedQuery=chkboxList.Controls[0]
.控制
.Cast()
.Select(ctrl=>ctrl.FindControl(“audienceList”)作为复选框)
.Where(chk=>chk!=null&&chk.Checked);
String[]result=findCheckedQuery.Select(x=>x.Text.ToArray();
感谢您的帮助。提前感谢。

服务器端不公开诸如
值之类的属性,因此您指定的属性将被视为自定义属性。要访问它,请使用:

x.Attributes["value"]
或者(不确定哪一个会起作用)

然而,由于这是一个仅用于渲染的自定义属性,我不完全确定它甚至可以在post back上像那样访问。如您所见,复选框控件不支持值。无论如何,试试看

如果它不起作用,请考虑,这是稍微有限的控件,但确实提供了必要的<代码>值< /代码>属性。在标记中,这应该简单到

<input ID="audienceList" Value='<%# Eval("id") %>' Text='<%# Eval("name") %>' runat="server" CssClass="checkbox_nowrap"/>

在后面的代码中,您当然需要更改将控件强制转换到的类。

x.Attributes[“value”]起作用。我一直在想,我需要查看其他方法或属性的内部。非常感谢你。
<input ID="audienceList" Value='<%# Eval("id") %>' Text='<%# Eval("name") %>' runat="server" CssClass="checkbox_nowrap"/>