是否可以在同一视图中使用多个视图模型?
我试图使用@model属性
的viewmodel但是,如果我可以使用第二个viewModel,那么我会陷入困境,我放第二个?
答案 0 :(得分:5)
您无法在同一视图中发送两个视图模型。
作为一种快速解决方法,您可以创建另一个包装要在视图中发送的所有模型的类。通过这种方式,您将受益于强类型视图。
public class Foo
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Bar
{
public int ID { get; set; }
public string Name { get; set; }
}
public class FooBar
{
public Foo Foo { get; set; }
public Bar Bar { get; set; }
}
在您的操作方法中:
var foo = new Foo
{
ID = 1,
Name = "Foo"
};
var bar = new Bar
{
ID = 2,
Name = "Bar"
};
var fooBar = new FooBar
{
Foo = foo,
Bar = bar
};
return View(fooBar);