多个表的详细视图列表(ASP MVC)

时间:2010-10-01 12:58:24

标签: asp.net-mvc activerecord

我有一个包含设备列表的页面。每个设备都有一个详细页面。我想要实现的是获取设备详细信息页面上属于设备的所有项目的列表。设备可以有多个项目,项目也可以链接到多个设备(多对多关系)。我在我的数据库中有一个表来链接设备和项目表,以实现多对多关系。我正在使用活动记录与我的数据库进行通信。

我的详细信息页面的代码如下所示:

public ActionResult Details(int id)
    {

        ViewData["Id"] = id;
        return View(Device.Find(id));
    }

我的问题是:如何将项目列表发送到设备详细信息视图?

1 个答案:

答案 0 :(得分:0)

您可以将“项目”属性添加到您在“详细信息”页面中使用的ViewModel,并在调用之前在控制器中填充它以呈现DetailsView。

我不确定你的Device.Find(id)返回什么,但是如果它返回设备的列表项目你可以做这样的事情

var projectList = Device.Find(id);

DetailsViewModel viewModel = new DetailsViewModel();

viewModel.Projects = projectList;

viewModel.DeviceName =“Something”;

viewModel.Price = 12;

return View(“Details”,viewModel);