一个动作可以在控制器中有多个视图吗?

Could an action can have more than one view in a controller?

我想使用一个将 id 作为参数的操作,并检查 id 是否为 null。如果 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)
    }
}