繁体   English   中英

如何在MVC3 ASP中使用多个模型

[英]How to use multiple models in MVC3 asp

如果我有一个MVC3 ASP.net页面,其中包含模型“ iEnumerable<mymodel.CarsForHire> ”(直接链接到实体框架模型),并且现在我还想包括MVC3生成的默认用户管理模型,如何我一次使用两个模型吗?

我假设我必须传递一个集合,或者创建一个名为“ blah ”的模型,该模型具有一个字段“ carsforHire”,该字段与iEnumerable<mymodel.CarsForHire>结婚,但是不确定从哪里开始。

任何想法将不胜感激

您已经提到了解决方案; 创建一个包含所有必需数据的视图模型类。 例如:

public class SomeViewModel
{ 
   public User CurrentUser { get; set; }
   public IEnumerable<mymodel.CarsForHire> Cars { get; set; }
}

在控制器中构造该模型,并将其传递给您的视图。 并且不要忘记在视图顶部更新类型声明。

我通常要做的是创建一个ViewModel类。 例如:

public class CarsViewModel
{
    public IEnumerable<mymodel.CarsForHire> CarsForHire { get; set; }

    public UserModel User { get; set; }
}

然后使用CarsViewModel而不是IEnumerable<mymodel.CarsForHire>创建视图

如果需要,可以使用EF的导航属性。

public class carForHire()
{
 int property1{get; set;}
 .
 .
 .
//Navigationla property
public virtual blah blah { get; set; }
}


在您的页面/视图中,您可以像

@foreach(var item in Mode)
  {
 item.blah.blahProperty
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM