【发布时间】:2014-10-11 18:42:19
【问题描述】:
我有来自控制器的对象列表。
看起来像这样
{ Driver = System.Data.Entity.Driver_Driver1, Statuss = NotConfirmed }
{ Driver = System.Data.Entity.Driver_Driver2, Statuss = NotConfirmed }
请注意 Driver 是一个复杂类型的对象。
控制器:
var Drivers = _db.Drivers.Where(x => x.DriverCompanyID == id).Where(d => d.CanWorkIn.Where(f => f.CompanyToDriveFor.CompanyID == OwnCompany.CompanyID).Any())
.Select(x => new
{
Driver = x,
Statuss = x.CanWorkIn.FirstOrDefault().Status.ToString()
}).ToList();
ViewBag.ListOfDrivers = Drivers;
return PartialView("_DriverList");
我的模特
public class DriverViewItem
{
public Driver Driver { get; set; }
public string Statuss { get; set; }
}
我的观点
@model List<MyApp.web.Models.DriverViewItem>
这最后一点不起作用。 模型声明。
【问题讨论】:
-
您能否更准确地说明您是如何将代码添加到 ViewBag 中的?
-
您应该使用模型将复杂数据解析为视图
-
我有 Linq 查询。
.Select(x => new { Driver = x, Statuss = x.CanWorkIn.FirstOrDefault().Status }).ToList(); -
你应该看看强类型匿名类型并将列表解析为从控制器到视图的模型
-
@AshleyMedway 那么将匿名对象发送到视图有什么问题,你怎么知道
OP没有在另一个模型中使用强类型视图?