想要将多个模型传递给视图ASP .NET MVC4

时间:2014-05-19 15:03:30

标签: c# asp.net-mvc asp.net-mvc-4

我正在使用ASP .NET MVC4结构。我希望在我的视图中显示包含收件箱,发件箱和垃圾邮件等不同类别的消息列表。如何将多个模态数据传递到将显示具有相应类别的数据的单个视图。例如,我想在视图中显示垃圾邮件收件箱邮件和已发送邮件,然后如何将具有相应类别的所有数据传递给视图。

这里我有一个消息类,我想用它来传递数据来查看。

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; }
}

如果有任何错误解释我的问题,请编辑它。我的英语水平不高。感谢

2 个答案:

答案 0 :(得分:1)

创建视图模型

public class ViewModel{
    public List<Messages> Inbox { get; set; }
    public...
}

答案 1 :(得分:0)

首先,我会开始将Messages重命名为Message,因为它在概念上代表一条消息,而非集合。

其次,为整个事情创建一个单一的视图可能并不明智,因为这意味着你要去你的数据存储并同时查询所有这些消息。

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

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

但是,如果你不关心表现,你想要的东西我想做的就像Matt Bodily建议的那样。