Подтвердить что ты не робот

Как я могу узнать, вызвано ли мое действие RenderAction?

У меня есть действие, которое потенциально может быть вызвано через обычную ссылку, и в этом случае я бы вернул View(), или он также может быть вызван через AJAX или RenderAction (то есть в качестве дочернего действия), и в этом случае я 'd возвращает PartialView().

Сортировка части AJAX проста - но как я могу проверить, выполняется ли мое действие как действие для детей?

В идеале, я бы хотел написать такой код:

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

return View();

Очевидно, что Request.IsChildAction() не существует - есть ли что-то похожее или мне просто нужно создать специальный ChildAction, который всегда возвращает PartialView?

4b9b3361

Ответ 1

Вы были почти там:

public ActionResult Foo()
{
    if (Request.IsAjaxRequest() || ControllerContext.IsChildAction)
    {
        return PartialView();
    }
    return View();
}