我有一个ViewModel:
public class EmployeeViewModel
{
Employees employee{ get; set; }
Budget budget { get; set; }
}
我喜欢将此视图模型传递给执行需要两个表的创建的视图。
我尝试在控制器中执行以下操作,将信息传递给视图但未成功:
EmployeeViewModel pvm = new EmployeeViewModel()
return View(pvm);
原因是员工和预算的价值都是空的。 如何将此信息传递给视图,以便它知道这两个表?
答案 0 :(得分:1)
Maybe if you add
public class EmployeeViewModel
{
Employees employee{ get; set; }
Budget budget { get; set; }
public EmployeeViewModel()
{
employee = ... initialize Employee list/set/...
budget = ... initialize budget
}
}
这样,您将在ViewModel属性中有引用,或者如果Employees和Budgets是linq / ADO EF模型,您可以从控制器中的数据库附加数据
public class BudgetController : Controller {
public ViewResult Index(){
var db = new YourContrxtClass();
EmployeeViewModel pvm = new EmployeeViewModel()
pvm.employees = db.Employees.All(); // or some where condition
pvm.budget = db.Budget.FirstOrDefault(b=> b.Year == DateTime.Now.Year); // if you have Year property in budget model
return View(pvm);
}
}
请注意,这只是在我脑海中测试过,并且示例代码中可能存在一些错误