我想知道可以在视图中同时传递两个模型而不使用ViewModel方法吗?
答案 0 :(得分:4)
我猜你可以使用Tuple<T1, T2>
...
public ActionResult Index()
{
return View(new Tuple<Foo, Bar>(new Foo(), new Bar()));
}
查看:
@model Tuple<Foo, Bar>
...
<div class="container">
Foo value = @Model.Item1.Value
<hr />
Bar value = @Model.Item2.Value
</div>
答案 1 :(得分:4)
如果您不需要担心绑定,那么您可以使用ViewBag,例如
public ActionResult Index()
{
ViewBag.FirstModel = new FirstModel();
ViewBag.SecondModel = new SecondModel();
return View();
}
然后通过ViewBag在视图中提供模型。
答案 2 :(得分:0)
使用TempData
或ViewData
。您甚至可以使用Session或Cache。我更喜欢ViewModel方法,因为它是它的目的。我倾向于只使用TempData或ViewData来填写选择列表。
答案 3 :(得分:0)
其他可能的方法是使用以下
的ViewData ViewBag TempData的
以下是每个代码示例,请看一下。希望它有所帮助
Passing multiple models to view using ViewData, ViewBag, TempData