0

我有两个视图模型,VM1 和 VM2——我想将它们添加到第三个视图模型中,这样我就可以将两个信息表发送到我的视图中——但我很挣扎。

我的视图模型是:

public class VM1
{
    public string contactf { get; set; }
    public string contacts { get; set; }
}

public class VM2
{
    public string petname { get; set; }
    public string type { get; set; }
}

public class VM3
{
    public VM1 VM1 { get; set; }
    public VM2 VM2 { get; set; }

}

在我的控制器中,我有一个联系人列表以及一个宠物名和类型列表:

var contacts = db.Contacts.Where(x => x.status != "Resolved")
             .Select(x => new VM1
            {
                contactf = x.contactf,
                contacts = x.contacts
            }.ToList();

var pets= db.Pets.Where(x => x.status != "Resolved")
             .Select(x => new VM2
            {
                petname = x.petname,
                type = x.type
            }.ToList();

我要做的就是将这两个列表添加到 VM3 视图模型中,这样我就可以将 2 个单独的信息列表发送到我的视图:

VM3 vm = new VM3();
vm.VM1 = contacts();

但是,在上面的最后一行中,我收到了错误:

Cannot implicitly convert type 'System.Collections.Generic.List<bm.Models.VM1>' to 'bm.Models.VM1'

如何将这两个列表添加到 VM3 ?

谢谢,

标记

4

2 回答 2

3

Contacts 属于 Type List<MV1>,因此您不能将其分配给 type 的 Property VM1

您需要将定义更改VM3为:

public class VM3
{
    public List<VM1> VM1 { get; set; }
    public List<VM2> VM2 { get; set; }    
}
于 2013-06-14T12:06:12.853 回答
0

将您的 VM3 类重写为:

public class VM3
{
  public List<VM1> VM1 { get; set; }
  public VM2 VM2 { get; set; }
}
于 2013-06-14T12:10:44.400 回答