确定"来电"是否来自视图

Mar*_*uth 6 model-view-controller html-helper

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

这类似于Request.IsAjaxRequest.如果调用来自视图,我想呈现局部视图而不是主页面的完整视图.

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

Mar*_*uth 9

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

        if (Request.IsAjaxRequest() || ControllerContext.IsChildAction)
            return PartialView("ViewName", results);
Run Code Online (Sandbox Code Playgroud)