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 に、この 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 ファイルで。

ヒントはありますか?私がやりたいことは、返される企業のリストをループできるようにすることです。

ありがとう!

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 に答える