借用this post的例子。
控制器:
EmployeeEntities storeDB = new EmployeeEntities();
public ActionResult Index()
{
var employee = storeDB.Employees.ToList()
return View(employee);
}
模型(DbContext
类)
public class EmployeeEntities : DbContext
{
public DbSet<Employee> Employees { get; set; }
}
假设EmployeeEntities
位于Models.Employees
名称空间中。现在我想创建一个局部视图。我应该做哪一个?
// A:
@model Models.Employees.EmployeeEntities.Employees
// or B:
@model List<Employee>
还是其他什么?我可以使用ViewBag
作为模型吗?
答案 0 :(得分:1)
你在控制器中的行动
EmployeeEntities storeDB = new EmployeeEntities();
public ActionResult Index()
{
var employee = storeDB.Employees.ToList();
return View(employee);
}
根据上面的代码,您可以看到您的视图模型为List<Employee>
List<Employee> employee = storeDB.Employees.ToList();
所以在你看来
@using namespace_of_employee_class
@model List<Employee>()
答案 1 :(得分:0)
由于List<Employee>
的对象被转移到视图,因此视图中模型的命名空间与CONTEXT类的命名空间(此处为EmployeeEntities类)无关。它是模型类的命名空间(这里是类Employee)。
我认为应该是
@model System.Collections.Generic.List<Models.Employees.Employee>
这假设类Employee在名称空间&#39; Models.Employees&#39;。