在我的详细信息视图中,我想显示另一个模型的列表。 - 我有可以分配设备的位置。我想查看位置的详细信息,并查看分配给它的设备列表。我一直在努力解决这个问题,并尝试了很多方法。似乎应该有一个简单的解决方案,但我只是在构建列表时遇到了障碍。对于我的最新方法,我创建了自己的ViewModel。
ViewModel - DeviceLocationIndex模型
public class DeviceLocationIndex
{
public IEnumerable<Device> Devices { get; set; }
public IEnumerable<Location> Locations { get; set; }
public IEnumerable<DeviceLocation> DeviceLocations { get; set; }
public List<Device> locationDevices { get; set; }
}
我创建了一个局部视图 - _DeviceIndex放在我的位置详细信息视图的底部。
<div>
@Html.Partial("_DeviceIndex", Model.Devices)
</div>
在我的LocationController中我有
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Location location = db.Locations.Find(id);
if (location == null)
{
return HttpNotFound();
}
var viewModel = new DeviceLocationIndex();
viewModel.Locations = db.Locations
.Include(x => x.DeviceLocations.Select(d => d.Device))
.Where(x => x.LocationID == id) ;
var locationID = location.LocationID;
我应该解释一下有三个表:location,DeviceLocation和Device。下一段代码向我显示了DeviceLocation表中的记录(此位置具有这些设备)。
ViewBag.LocationID = locationID;
viewModel.DeviceLocations = viewModel.Locations.Where(
x => x.LocationID == locationID).Single().DeviceLocations;
int count = viewModel.DeviceLocations.Count();
while (count != 0)
{
}
我现在处于亏损状态。如何根据我所知道建立设备列表?那么如何将Detail部分和List部分所需的信息一起传递给View?