ASP.NET MVC,创建将多个对象返回到视图的View方法

Але*_*нац 5 c# asp.net asp.net-mvc

有没有办法创建一个返回多个对象的View()方法,例如,我想称之为:

public class HomeController : Controller
{
  public ActionResult Index()
  {
    return View(CustomObject1 customObject1, CustomObject2 customObject2);
  }
}
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 7

是的,这是可能的,只需创建一个视图模型:

public class MyViewModel
{
    public CustomObject1 CustomObject1 { get; set; }
    public CustomObject2 CustomObject2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

您将传递给视图:

public ActionResult Index()
{
    var model = new MyViewModel();
    model.CustomObject1 = customObject1;
    model.CustomObject2 = customObject2;
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

最后使您的视图强烈输入此视图模型:

@model MyViewModel
Run Code Online (Sandbox Code Playgroud)

并在需要时访问相应的属性:

 <div>@Model.CustomObject1.FoorBar</div>
Run Code Online (Sandbox Code Playgroud)