当前的动作是ChildAction吗?

时间:2011-02-05 11:32:53

标签: asp.net-mvc asp.net-mvc-3

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

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

1 个答案:

答案 0 :(得分:45)

您可以使用IsChildAction属性:

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