当前的动作是ChildAction吗?

TDa*_*ver 25 asp.net-mvc asp.net-mvc-3

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

好的,从另一个角度来看:如何制作它,如果它是一个ChildAction然后返回一个PartialView,否则一个完整的View?

Dar*_*rov 45

您可以使用该IsChildAction属性:

public ActionResult Index()
{
    if (ControllerContext.IsChildAction)
    {
         // The Index action was invoked as child action using 
         // @Html.Action("index")
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)