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

Текущее действие - ChildAction?

Как определить, является ли текущее действие ChildAction или маршрутизированным основным действием? Должен ли я проверить URL-адрес и сравнить с именем действия? Это не очень приятно, так как оно зависит от шаблонов маршрутизации...
Или я должен сделать два действия с одним и тем же именем, поместить ChildActionOnly на один из них и иметь отдельную логику (в основном возвращая View() или PartialView())? Как будут дифференцироваться перегрузки?

Хорошо, с другой стороны: как сделать так, что если это ChildAction, то верните PartialView, иначе полный просмотр?

4b9b3361

Ответ 1

Вы можете использовать свойство IsChildAction:

public ActionResult Index()
{
    if (ControllerContext.IsChildAction)
    {
         // The Index action was invoked as child action using 
         // @Html.Action("index")
    }
    ...
}