У меня есть следующий checkboxlist. Мне нужно снять отметку с остальных элементов списка, когда выбрано «Нет». Как мне это сделать? Благодаряснимите флажок checkboxlist, если один выбранный список
<asp:CheckBoxList ID="CheckBoxList1" RepeatDirection="Horizontal" runat="server">
<asp:ListItem Value="1">French</asp:ListItem>
<asp:ListItem Value="2">Spanish</asp:ListItem>
<asp:ListItem Value="3">Italian</asp:ListItem>
<asp:ListItem Value="4">German</asp:ListItem>
<asp:ListItem Value="5">Portuguese</asp:ListItem>
<asp:ListItem Value="6">Chinese</asp:ListItem>
<asp:ListItem Value="7">Japanese</asp:ListItem>
<asp:ListItem Value="8">Russian</asp:ListItem>
<asp:ListItem Value="Other">Other</asp:ListItem>
<asp:ListItem Value="None">None</asp:ListItem>
</asp:CheckBoxList>
UPDATE: Перевод на vb.net ответа ниже по Дарин Димитров
Public Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T
target = value
Return value
End Function
Protected Sub CheckBoxList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxList1.SelectedIndexChanged
Dim listItems = CheckBoxList1.Items.Cast(Of ListItem)()
Dim isNoneSelected = listItems.Any(Function(x) x.Value = "None" AndAlso x.Selected = True)
If isNoneSelected Then
listItems.Where(Function(x) x.Value <> "None").ToList().ForEach(Function(x) InlineAssignHelper(x.Selected, False))
End If
End Sub
Привет, большое спасибо. У меня проблемы с переводом на vb.net. Не могли бы вы дать некоторые указания? Большое спасибо. – netNewbi3
@ netNewbi3, есть онлайн-инструменты преобразования C# -> VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/ Вы можете попробовать конвертировать код в VB.NET. –
Спасибо, я использую их. однако на этот раз они не работали. Благодарю. – netNewbi3