我有一个可能通过普通链接调用的动作,在这种情况下我会返回一个View(),或者它也可以通过AJAX或RenderAction调用(即作为子动作),在这种情况下我'返回PartialView()。
排序AJAX部分很简单 - 但是如何测试我的动作是否呈现为子动作?
理想情况下,我希望能够编写如下代码:
if (Request.IsAjaxRequest() || Request.IsChildAction())
return PartialView();
return View();
显然Request.IsChildAction()不存在 - 是否有类似的东西,或者我只需要创建一个总是返回PartialView的特殊ChildAction?
答案 0 :(得分:33)
你快到了那里:
public ActionResult Foo()
{
if (Request.IsAjaxRequest() || ControllerContext.IsChildAction)
{
return PartialView();
}
return View();
}