#asp.net #vb.net #checkboxlist
#asp.net #vb.net #список флажков
Вопрос:
Как я могу исправить эту ошибку? Если первый элемент выбран в checkboxlist CBLAdd, эта ошибка не возникает. Если выбран второй, третий и т. Д. Элемент (А первый элемент не выбран), я получаю сообщение об ошибке.
Система.ArgumentOutOfRangeException: ‘Индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс’
что происходит в этой строке If CBLAdd.Items(i).Selected Then
в приведенном ниже коде:
Protected Sub BtnAdd_Click(sender As Object, e As EventArgs) Handles BtnAdd.Click
If CBLAdd.SelectedIndex >= 0 Then
For i As Integer = 0 To CBLAdd.Items.Count - 1
If CBLAdd.Items(i).Selected Then
'Code removed from here - irrelevant to my question
End If
Next
End If
End Sub
Комментарии:
1. Вы уверены, что удаленный оттуда код не имеет отношения к вашему вопросу ? Может быть, вы модифицируете коллекцию?
2. Также убедитесь, что у вас есть элементы в флажке и они не подвергаются манипуляциям. Что-то подобное помогло бы, если (CBLAdd.SelectedIndex >= 0 И CBLAdd.SelectedIndex < CBLAdd. Товары. Количество) Затем….. ЗАВЕРШИТЬ, если
3. Покажите нам «Код, удаленный отсюда — не имеет отношения к моему вопросу», я думаю, что вы изменяете коллекцию элементов
4.Является ли .Selected вообще допустимым? Я только что попробовал ваш код, и с включенной опцией Strict я получаю ошибку поздней привязки. Intellisense выдает только
Equals
,GetHashCode
,GetType
amp;ToString
Ошибка, которую я получаю, если я запускаю ее с параметром Strict Off, являетсяMissingMemberException
Public member 'Selected' on type 'String' not found