首页 文章

MVC4在一个视图上使用两个模型用于2个不同的相关表[重复]

提问于
浏览
1

这个问题在这里已有答案:

我对MVC很新 . 我有visual studio 2010和MVC 4 .

正如我读过的大多数文章,我必须创建一个模型类,然后添加生成(创建,删除,细节,编辑和索引视图)的Controller .

现在假设我有两个相关的表,例如:Company和CompanyBranches .

我可以单独为每个视图创建模型,控制器和视图,但我无法组合2个视图(我想修改公司的详细信息视图,以显示其上的所有相关CompanyBranches . ) .

我怎样才能做到这一点?知道我试图将公司分支模型的引用添加到公司详细信息视图,但看起来在MVC上不允许添加两个模型 .

1 回答

  • 2

    您可以为此创建Model或ViewModel:

    public class ViewModel
    {
       public Company MyCompany { get; set;}
       public CompanyBranches MyCompanyBranches { get; set;}
    
       //If you have multiple items, you can do this:
       public IList<CompanyBranches> LstCompanyBranches { get; set;}
    }
    

    那么这就是你将传递给你的观点:

    public ActionResult Create()
    {
       ViewModel model = new ViewModel();
       model.MyCompany = //populate your Company details class
       model.MyCompanyBranches = //populate your CompanyBranchess class
    
       return View(model); //return your view with two classes on one class
    }
    

相关问题