【发布时间】:2018-07-10 17:09:29
【问题描述】:
我想使用一个以 id 作为参数的动作并检查 id 是否为空。如果 id 为空,我需要传递一个模型列表(例如人员模型),如果不是,我需要传递一个模型。我需要使用 2 个视图来执行我的操作,其中一个将模型作为 IEnumerable,另一个仅采用单个模型。我已经使用 2 个动作解决了这个问题,但我想知道是否有更简单的方法?谢谢。
【问题讨论】:
标签: asp.net-mvc view action
我想使用一个以 id 作为参数的动作并检查 id 是否为空。如果 id 为空,我需要传递一个模型列表(例如人员模型),如果不是,我需要传递一个模型。我需要使用 2 个视图来执行我的操作,其中一个将模型作为 IEnumerable,另一个仅采用单个模型。我已经使用 2 个动作解决了这个问题,但我想知道是否有更简单的方法?谢谢。
【问题讨论】:
标签: asp.net-mvc view action
是的,你只需要指定视图的名称,例如:
public ActionResult SomeAction(int? id)
{
if(id.HasValue}
{
var item = GetSingleItem(id);
return View("SingleModelView", item);
}
else
{
var listOfItems = GetAllItems();
return View("EnumerableModelView", listOfItems)
}
}
【讨论】:
GetSingleItem 应该使用 SingleModelView 和 GetAllItems 应该使用 EnumerableModelView ,我已经更新了。