在不使用ViewModel方法的情况下传递两个模型进行查看
本文关键字:两个 模型 ViewModel 方法 情况下 | 更新日期: 2023-09-27 18:20:40
我想知道,在不使用ViewModel方法的情况下,是否可以在视图中同时传递两个模型?
我想您可以使用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>
实时演示
如果您不需要担心绑定,那么您可以使用ViewBag,例如
public ActionResult Index()
{
ViewBag.FirstModel = new FirstModel();
ViewBag.SecondModel = new SecondModel();
return View();
}
然后,模型可以通过ViewBag在视图中显示。
使用TempData
或ViewData
。您甚至可以使用会话或缓存。不过,我更喜欢ViewModel方法,因为这正是它的初衷。我倾向于只使用TempData或ViewData来填写选择列表。
其他可能的方法是使用以下
ViewDataViewBagTempData
下面是每个的完整代码示例,请看一看。希望它能帮助
使用ViewData、ViewBag、TempData 传递多个模型进行查看