如何在强类型视图中包含多个模型对象?

Red*_*ces 2 asp.net-mvc object

当我从ActionResult函数创建强类型视图时,用于创建视图的Visual Studio对话框只允许我包含一个模型对象.

如何包含1个以上,以便我可以为所有这些使用智能?

Thi*_*dio 7

这是不可能的.您应该创建另一个模型来包装这两个模型.

例:

//Model

public class FooModel1
{
   public string Property {get;set;}
}

public class FooModel2
{
   public string Property {get;set;}    
}

public class FooModel
{
  public FooModel1 One {get;set;}
  public FooModel2 Two {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

//控制器:

public ActionResult Index()
{
   var model = new FooModel() { One = new FooModel1 (), Two = new FooModel2 ()};
   return View(model);
}
Run Code Online (Sandbox Code Playgroud)

//视图

@model FooModel
@Html.TextBoxFor(m=>m.One.Property)
@Html.TextBoxFor(m=>m.Two.Property)
Run Code Online (Sandbox Code Playgroud)