asp.net-mvc - 一个动作可以在控制器中有多个视图吗?
问题描述
我想使用一个以 id 作为参数的操作并检查 id 是否为空。如果 id 为空,我需要传递一个模型列表(例如人员模型),如果不是,我需要传递一个模型。我需要使用 2 个视图来执行我的操作,其中一个将模型作为 IEnumerable,另一个仅采用单个模型。我已经使用 2 个动作解决了这个问题,但我想知道是否有更简单的方法?谢谢你。
解决方案
是的,您只需要指定视图的名称,例如:
public ActionResult SomeAction(int? id)
{
if(id.HasValue}
{
var item = GetSingleItem(id);
return View("SingleModelView", item);
}
else
{
var listOfItems = GetAllItems();
return View("EnumerableModelView", listOfItems)
}
}
推荐阅读
- openstack - 在 Openstack 中使用 Heat 配置网络 MTU
- python-3.x - 使用 google drive 安装 google collab
- javascript - 当对象在多个其他对象中时,console.log 返回 [Object]
- python - 如何对 DataFrame 中的数据进行分组并显示该组中的行数?
- javascript - 将 javascript 动态内容绑定到另一个 javascript 动态内容
- sql - 在 EXCEL 中构建 SQL SELECT 语句
- shopify - 通过标签查询时的循环限制问题(Shopify Liquid)
- javascript - ReactJS:隐藏文本会产生错误:超出最大更新深度
- r - 如何使用 R 将变量添加到图形边距?
- python - Kivy 应用程序大小固定在全屏窗口中