Создание списка (из String) с ошибкой «Ссылка на объект не установлена ​​для экземпляра объекта». - PullRequest
0 голосов
/ 01 ноября 2011

MVC 3 бритвенный проект VB.NET. Я прибег к ручному построению списка для выпадающего списка, чтобы можно было убедиться, что определенные значения доступны в списке выбора, а также контролировать, какой элемент в списке находится первым. Ниже приведен мой фрагмент кода для части, которая доставляет мне проблемы ..

      Dim _courses1 As Integer = db.courses.ToList.Where(Function(r) r.course_day = "Tuesday").Count
        Dim _classes1 As List(Of cours) = db.courses.ToList
        Dim classRef1 As List(Of String)
        If Not _selectedClass0 = "--" Then
            classRef1.Add("--")
        Else
            classRef1.Add(_selectedClass0)
        End If
        For i As Integer = 0 To _courses1 - 1
            For Each item In _classes1.Where(Function(f) f.course_day = "Tuesday")
                Dim _item As cours = item
                classRef1.Add(_item.course_ref)
            Next
        Next
        ViewBag.tue1 = classRef1

_selectedClass0 - это просто строка, которая устанавливается раньше ... Указанная ошибка возникает, когда она попадает в часть ClassRef1.Add (_selectedClass0) оператора else. Какое строковое значение _selectedClass0 на момент ошибки равно "-". У меня есть ощущение, что это в том, как создается список, но я не уверен ... Любые идеи ???

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Вы не инициализируете classRef1.

 Dim classRef1 As new List(Of String)

Еще одна вещь, которую я вижу, в первой строке - я внес изменения, которые вижу:

Dim _courses1 As Integer = db.courses.Where(Function(r) r.course_day = "Tuesday").Count()

Вы не делаетеToList в начале не нужен, если все, что вы получили, это счет.

1 голос
/ 01 ноября 2011

Вы объявляете classRef1 здесь списком строк:

Dim classRef1 As List(Of String)

Но вы никогда не создаете экземпляр с использованием New.Я не уверен в синтаксисе VB, так как я являюсь разработчиком C #, но я думаю, вы должны добавить следующую строку сразу после объявления:

classRef1 = New List(Of String)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...