13

我有一个可能通过普通链接调用的操作,在这种情况下我会返回一个 View(),或者它也可以通过 AJAX 或 RenderAction(即作为子操作)调用,在这种情况下我会返回部分视图()。

整理 AJAX 部分很容易 - 但我如何测试我的操作是否被呈现为子操作?

理想情况下,我希望能够编写这样的代码:

if (Request.IsAjaxRequest() || Request.IsChildAction())
    return PartialView();

return View();

显然 Request.IsChildAction() 不存在 - 有没有类似的东西,或者我只需要创建一个始终返回 PartialView 的特殊 ChildAction?

4

1 回答 1

33

你几乎在那里:

public ActionResult Foo()
{
    if (Request.IsAjaxRequest() || ControllerContext.IsChildAction)
    {
        return PartialView();
    }
    return View();
}
于 2011-09-14T21:32:51.383 回答