Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net MVC将两个对象传递给视图_Vb.net_Asp.net Mvc 4_Model View Controller_Razor - Fatal编程技术网

Vb.net MVC将两个对象传递给视图

Vb.net MVC将两个对象传递给视图,vb.net,asp.net-mvc-4,model-view-controller,razor,Vb.net,Asp.net Mvc 4,Model View Controller,Razor,我正在努力将两个对象传递给我的视图,然后从中显示数据。为了将两个不同的对象发送到一个视图,我为它创建了一个单独的类,该类将包含我的两个类对象,如下所示: Public Class CustomModelProjetsTransports Public Projects As IEnumerable(Of woitgroup_transport.tbProjekt) Public Transports As IEnumerable(Of woitgroup_transport.tb

我正在努力将两个对象传递给我的视图,然后从中显示数据。为了将两个不同的对象发送到一个视图,我为它创建了一个单独的类,该类将包含我的两个类对象,如下所示:

Public Class CustomModelProjetsTransports
    Public Projects As IEnumerable(Of woitgroup_transport.tbProjekt)
    Public Transports As IEnumerable(Of woitgroup_transport.tbTransport)
End Class
The model item passed into the dictionary is of type 'woitgroup_transport.CustomModelProjetsTransports', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[woitgroup_transport.CustomModelProjetsTransports]'.
现在,在我的控制下,我通过它进入一个视图(我检查了,数据在那里:

Function Index() As ActionResult
        If Not IsNothing(Session("LogedUserId")) Then

            Dim userId As Integer = Session("LogedUserId")
            Dim projectsAndTransportsLists As New CustomModelProjetsTransports

            Dim ProjectsPerUser As New List(Of tbProjekt)
            ProjectsPerUser = db.Database.SqlQuery(Of tbProjekt)("SELECT * FROM [mydb].[dbo].[tbProjekt] where Id IN (SELECT DISTINCT ProjectId FROM [mydb].[dbo].[tbUserProject] WHERE UserId = " & Session("LogedUserId") & ")").ToList

            Dim transportsPerUser As New List(Of tbTransport)
            transportsPerUser = db.Database.SqlQuery(Of tbTransport)("SELECT * FROM [mydb].[dbo].[tbTransport] where ProjectId IN  (SELECT DISTINCT ProjectId FROM [mydb].[dbo].[tbUserProject] WHERE UserId = " & Session("LogedUserId") & ")").ToList

            projectsAndTransportsLists.Projects = ProjectsPerUser
            projectsAndTransportsLists.Transports = transportsPerUser

            Return View(projectsAndTransportsLists)

        Else
            Return RedirectToAction("Index", "Login")
        End If
    End Function
问题就在眼前:

上面是:

@ModelType IEnumerable(Of woitgroup_transport.CustomModelProjetsTransports)

  <tbody>
                                                @For Each item In Model(1).Transports.ToList
                                                    Dim currentItem = item
                                                    @<tr>
...
但是,当视图希望如下所示时,我收到了一个错误:

Public Class CustomModelProjetsTransports
    Public Projects As IEnumerable(Of woitgroup_transport.tbProjekt)
    Public Transports As IEnumerable(Of woitgroup_transport.tbTransport)
End Class
The model item passed into the dictionary is of type 'woitgroup_transport.CustomModelProjetsTransports', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[woitgroup_transport.CustomModelProjetsTransports]'.
附加问题:

在脑海中我有一个项目列表在我的视图中,如何正确填写下拉列表(最好使用引导样式)。我正在尝试这样做,但仍然有一些错误

@Html.DropDownListFor(Function(m) m.Projects.., DirectCast(Model.Projects, SelectList), New With { _
                        .class = "form-control" _
                        })
它还说
Function(m)m.Projects.Name


该名称不存在
-我在类似intelissense的函数(m)m.Projects.ToList上只看到通用列表…

错误消息很清楚地说明了问题。您正在向视图传递一个
CustomModelProjetsTransports
。但是视图需要一个
IEnumerable(Of CustomModelProjetsTransports)
。删除
IEnumerable
,您应该会没事。

将视图更改为
@ModelType woitgroup\u transport.CustomModelProjetsTransports
谢谢,这是正确的-我过了一段时间也放松了-您能看一下吗?我在主要主题中添加了其他问题?每次只问一个问题-您需要问一个新的问题是的,过了一段时间我放松了自己——我在主题中增加了一个额外的问题,你们介意看一下并帮我解决这个问题吗?