确定“来电”是否来自视图

时间:2011-01-06 00:43:59

标签: model-view-controller html-helper

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

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

BTW Render partial不是一个可行的解决方案,因为该操作会获取其他数据

1 个答案:

答案 0 :(得分:9)

使用ControllerContext.IsChildAction具有给定的效果。这样我可以使用子操作和ajax请求提供相同的HTML(对于非JavaScript用户的后备)

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