0

我是网络开发新手并使用控件,所以请原谅我。

我有一个带有复选框的 GridView(请参阅下面的标记)

当用户通过并检查任何框并点击我的提交按钮时,我想运行 LINQ 查询以获取所有带有 checkbox1.checked = True 的行

就像是:

Dim sList = (From row in Gridview1
             Where row.Cells("IsStarFleet") = True
             row.Cells("ID)).ToList

标记:

<asp:GridView ID="GridView1" runat="server" Width="516px" AutoGenerateColumns="False" AllowPaging="True">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName" />
        <asp:TemplateField HeaderText="IsStarFleet">
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack ="False" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
4

1 回答 1

5

您需要在 a和for中使用FindControlfor 控件:TemplateFieldCells(index)BoundFields

Dim checkedIDs = From row In GridView1.Rows.Cast(Of GridViewRow)()
                 Where DirectCast(row.FindControl("CheckBox1"), CheckBox).Checked
                 Select row.Cells(0).Text
Dim checkedIdList = checkedIDs.ToList()
于 2013-01-14T21:04:10.667 回答