无法将 2 个表绑定到视图模型并发送到视图



表 1.商户业务表 2.商户服务

我想在单个视图中显示两个表的数据。

我想在视图上显示商家业务详细信息。 非常基本的公司名称,地址等。

商家服务是企业拥有的服务列表。

所以我首先创建了视图模型

Public Class MerchantServicesModel
Public Property MerchantViewModel() As Merchant
    Get
        Return _Merchant
    End Get
    Set(value As Merchant)
        _Merchant = value
    End Set
End Property
Private _Merchant As Merchant

Public Property ServiceViewModel() As IEnumerable(Of MerchantService)
    Get
        Return _Services
    End Get
    Set(value As IEnumerable(Of MerchantService))
        _Services = value
    End Set
End Property
Private _Services As MerchantService
End Class

在我的控制器中,我将两个表绑定到视图模型

Function Index(id As Integer) As ActionResult
    Dim db As New MerchantEntities
    Dim MerchantDetails As New MerchantServicesModel
    MerchantDetails.MerchantViewModel = db.Merchants.Find(id)
    MerchantDetails.ServiceViewModel = (From m In db.MerchantServices
                           Where m.MerchantID = id
                           Select m).ToList()

    Return View(MerchantDetails)

End Function

My View
@ModelType MerchantServicesModel 
@Code
Layout = "~/Views/Shared/_Layout.vbhtml"
End Code

@Html.DisplayFor(Function(model) model.MerchantViewModel.BusinessName)
@For Each item In Model.ServiceViewModel
@Html.DisplayFor(Function(model) item.ServiceName)
Next

我在想商家业务不是完整列表,只是特定业务的详细信息但是商家服务是一个 IE无数列表,所以我创建了一个表格并设置了样式等等。

现在我得到的错误是

其他信息:无法将类型为"System.Collections.Generic.List'1[VBClassMVC.MerchantService]"的对象转换为类型"VBClassMVC.MerchantService"。

我是否遗漏了某些内容,或者我绑定不正确?

谢谢。

干草,我为解决这个问题而努力。这是更新的视图模型

 Public Property ServiceViewModel() As IEnumerable(Of MerchantService)
    Get
        Return _Services
    End Get
    Set(value As IEnumerable(Of MerchantService))
        _Services = value
    End Set
End Property
Private _Services As IEnumerable(Of MerchantService)

我需要将IEnumerable(MerchantService)添加到_Services私有变量中。

相关内容

  • 没有找到相关文章

最新更新