2011-01-06 156 views
6

有没有方法可以确定对控制器操作的调用是否来自使用Html.RenderAction函数的视图。确定呼叫是否来自视图

这与Request.IsAjaxRequest类似。如果调用来自视图,我想只渲染一个局部视图,而不是使用母版页的全视图。

BTW渲染部分是不是一个可行的解决方案作为动作获取附加数据

回答

9

使用ControllerContext.IsChildAction已给定的效果。这样一来,我可以利用这个问题,孩子的动作和一个Ajax请求(针对非JavaScript的用户后备)

 if (Request.IsAjaxRequest() || ControllerContext.IsChildAction) 
      return PartialView("ViewName", results); 
+0

感谢提供相同的HTML,并回答它是有用的,我需要在一个视图来检查这个,所以我使用了ViewContext.IsChildAction – 2013-10-02 16:03:45