所以我创建了一个在MVC 4中测试DI的项目。是的,这很容易。我有一个看起来像这样的控制器。
public class CompanyManagementController : Controller
{
private ICompanyService companyService;
public CompanyManagementController(ICompanyService companyService)
{
this.companyService = companyService;
}
public ActionResult Index()
{
return View(companyService.GetCurrentCompanies());
}
}
我无法弄清楚的是如何告诉视图Index.cshtml我有这个List我将返回它。当我只有一个POCO时,它很容易。我这样做了
[HttpGet]
public ActionResult Create()
{
var company = new Company();
return View(company);
}
[HttpPost]
public ActionResult Create(Company company)
{
using(var context = new InventoryContext())
{
context.Companies.Add(company);
context.SaveChanges();
}
return View("Create");
}
这很简单,因为我刚才说过
@model MvcInventoryManager.Models.Company
Create.cshtml文件中的。
任何提示?我想要做的是能够遍历返回的公司列表。
谢谢!
答案 0 :(得分:5)
companyService.GetCurrentCompanies()
的返回类型是什么?这将是您要用于绑定视图中Model
的类型。例如,如果类型为IEnumerable<Company>
,那么在您的视图中,您将声明:
@model IEnumerable<MvcInventoryManager.Models.Company>
这样Model
属性的类型将与传递给视图的属性相匹配,您可以遍历Model
:
foreach (var company in Model)
答案 1 :(得分:0)
在视图中声明模型之后,只需循环遍历它:
@foreach (var company in Model)
{
Html.DisplayFor(modelItem => company.companyID)
Html.DisplayFor(modelItem => company.CompanyName)
}