MVC 3 razor 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只是一个先前设置的字符串...当提到else语句的ClassRef1.Add(_selectedClass0)部分时,会发生错误。错误时哪个_selectedClass0字符串值为“ - ”。我感觉它是如何创建列表但我不确定......任何想法???
答案 0 :(得分:3)
你没有初始化classRef1。
Dim classRef1 As new List(Of String)
我看到的另一件事是在第一行 - 我已经做出了改变:
Dim _courses1 As Integer = db.courses.Where(Function(r) r.course_day = "Tuesday").Count()
如果您的所有获取都是计数,则您不需要在开头列出。
答案 1 :(得分:1)
您在此声明classRef1
是字符串列表:
Dim classRef1 As List(Of String)
但您实际上从未使用New
创建实例。我不确定VB语法,因为我是C#开发人员,但我猜你应该在声明之后添加以下行:
classRef1 = New List(Of String)