asp.net-mvc – 当前动作是ChildAction吗?

如何确定当前操作是ChildAction还是路由主操作?我应该检查URL并与操作的名称进行比较吗?这不那么好,因为它依赖于路由模式…
或者我应该做两个相同名称的动作,在其中之一上放置一个ChildActionOnly,并具有单独的逻辑(主要返回View()或PartialView())?如何区分过载?

好吧,从另一个角度:如何使它,如果它是一个ChildAction然后返回一个PartialView,否则一个完整的视图?

您可以使用IsChildAction属性:

public ActionResult Index()
{
    if (ControllerContext.IsChildAction)
    {
         // The Index action was invoked as child action using 
         // @Html.Action("index")
    }
    ...
}
翻译自:https://stackoverflow.com/questions/4906610/is-current-action-a-childaction

转载注明原文:asp.net-mvc – 当前动作是ChildAction吗?