gpt4 book ai didi

model-view-controller - MVC - 使用 C# 将 ViewModel 传递给 View

转载 作者:行者123 更新时间:2023-12-04 08:24:49 25 4
gpt4 key购买 nike

我有这样一个 ViewModel:

public class EmployeeViewModel
{


Employees employee{ get; set; }
Budget budget { get; set; }



}

我想将这个 View 模型传递给一个 View ,该 View 创建一个需要两个表的 View 。

我尝试在 Controller 中执行以下操作以将信息传递给 View 但未成功:

    EmployeeViewModel pvm = new EmployeeViewModel()
return View(pvm);

原因是 employee 和 budget 的 Value 都为空。我如何将此信息传递给 View ,以便它了解这两个表?

最佳答案

如果这样做,您将在 ViewModel 属性中获得引用:

public class EmployeeViewModel
{
Employees employee { get; set; }
Budget budget { get; set; }

public EmployeeViewModel()
{
employee = ... initialize Employee list/set...
budget = ... initialize budget
}

}

如果 Employees 和 Budgets 是 LINQ/ADO EF 模型,您可以在 Controller 中附加数据库中的数据:

public class BudgetController : Controller {

public ViewResult Index() {
var db = new YourContextClass();
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);
}

}

关于model-view-controller - MVC - 使用 C# 将 ViewModel 传递给 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com