如何确定当前操作是ChildAction还是路由主操作?我应该检查URL并与操作的名称进行比较吗?这不那么好,因为它依赖于路由模式…
或者我应该做两个相同名称的动作,在其中之一上放置一个ChildActionOnly,并具有单独的逻辑(主要返回View()或PartialView())?如何区分过载?
或者我应该做两个相同名称的动作,在其中之一上放置一个ChildActionOnly,并具有单独的逻辑(主要返回View()或PartialView())?如何区分过载?
好吧,从另一个角度:如何使它,如果它是一个ChildAction然后返回一个PartialView,否则一个完整的视图?
解决方法
您可以使用
IsChildAction
属性:
public ActionResult Index() { if (ControllerContext.IsChildAction) { // The Index action was invoked as child action using // @Html.Action("index") } ... }