C# 要将多个模型传递给视图ASP.NET MVC4吗

C# 要将多个模型传递给视图ASP.NET MVC4吗,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我使用的是ASP.NETMVC4结构。我想显示不同类别的邮件列表,如收件箱、发件箱和垃圾箱等。在我的视图中显示邮件。如何将多个模态数据传递到一个视图,该视图将显示具有相应类别的数据。例如,我想在视图中显示垃圾信息收件箱消息和已发送消息,那么如何将具有相应类别的所有数据传递给视图 这里我有一个messages类,我想用它来传递数据以供查看 public class Messages { public int message_Id { get; set; } public strin

我使用的是ASP.NETMVC4结构。我想显示不同类别的邮件列表,如收件箱、发件箱和垃圾箱等。在我的视图中显示邮件。如何将多个模态数据传递到一个视图,该视图将显示具有相应类别的数据。例如,我想在视图中显示垃圾信息收件箱消息和已发送消息,那么如何将具有相应类别的所有数据传递给视图

这里我有一个messages类,我想用它来传递数据以供查看

public class Messages
{
    public int message_Id { get; set; }
    public string message_subject { get; set; }
    public string message_description { get; set; }
    public System.DateTime message_date { get; set; }
    public int sender { get; set; }
    public int project_id { get; set; }
    public string message_size { get; set; }
    public string file_id { get; set; }
    public int reciever { get; set; }
    public int star { get; set; }
    public int read { get; set; }
    public string sender_name { get; set; }
    public string reciever_name { get; set; }
    public string type { get; set; }
    public int isActive { get; set; }
}
如果有任何错误,请解释我的问题,请编辑它。我的英语不是很好。谢谢

创建视图模型

public class ViewModel{
    public List<Messages> Inbox { get; set; }
    public...
}
公共类视图模型{
公用列表收件箱{get;set;}
公众。。。
}

首先,我将开始将
消息
重命名为
消息
,因为它在概念上表示一条消息,而不是一个集合

第二,为整个事情创建一个视图可能不明智,因为这对我来说意味着您将要去数据存储并同时查询所有这些消息

相反,我将使用一个jQuery选项卡(或类似的东西),在分页的基础上查询Json MVC操作查询消息

不能给出一个具体的例子,因为有很多方法可以实现这一点,但基本的方法是在需要时使用ajax查询必要的数据,将其限制在具有MVC(或WebAPI)操作的页面上


但是,如果你不关心性能,而且你想要的速度很快,我会按照马特的建议去做。

1。在message类中添加一个属性,即MessageStatus,以表示收件箱、发件箱等。使用ViewModel,它是一个额外的抽象概念,位于核心模型之上,用于演示。当用户将数据发布到服务器时,数据将通过模型绑定器绑定到视图模型。然后在动作中,可以将视图模型映射到核心模型并对其进行操作。