そのように構築されたリピーター「ステートメント」があります:
<asp:Repeater ID="Statements" runat="server"><ItemTemplate><ul>
<li>
<div>
<asp:Label Text='<%#("Problem Statement: " + Eval("Statement"))%>' runat="server"></asp:Label></div>
<div>
<asp:Label Text='<%#("Goal: " + Eval("Goal"))%>' runat="server"></asp:Label></div>
<asp:CheckBoxList ID="Objectives" runat="server" RepeatDirection="Horizontal" RepeatColumns="2">
</asp:CheckBoxList>
</li>
</ul>
</ItemTemplate>
</asp:Repeater>
チェックされたすべての項目を繰り返しから取得しようとしましたCheckBoxList
が、これまでのところ運がありません。以下は無効なキャストエラーを示していますが、他の試みも失敗しました。LINQ を使用して、繰り返しリストからすべてのチェック項目を取得するにはどうすればよいですか?
Dim list = _
(From c As Control In Me.FindControl("Statements").Controls _
Where c.GetType() Is GetType(CheckBoxList) _
Select c).ToList()
Dim selected = _
From c As CheckBoxList In list.AsEnumerable() _
Select c.Items.AsQueryable().Cast(Of ListItem).Select(Function(l) l.Selected = True)
前もって感謝します。