0

所以我创建了一个项目来测试 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 我有这个列表,我正在返回它。当我只有一个 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 文件中。

有什么提示吗?我想要做的是能够遍历返回的公司列表。

谢谢!

4

2 回答 2

5

的返回类型是companyService.GetCurrentCompanies()什么?那将是您要用于绑定Model视图中的类型。例如,如果类型IEnumerable<Company>在您的视图中,您将声明:

@model IEnumerable<MvcInventoryManager.Models.Company>

这样,Model属性的类型将与传递给视图的内容相匹配,您可以循环遍历Model

foreach (var company in Model)
于 2012-06-13T03:53:58.617 回答
0

在视图中声明您的模型后,只需像这样循环遍历它:

@foreach (var company in Model)
{ 
Html.DisplayFor(modelItem => company.companyID) 
Html.DisplayFor(modelItem => company.CompanyName) 
}
于 2012-06-13T08:29:41.637 回答