Html.RenderPartial Работает, но Html.RenderAction не работает (пусто) и нет ошибок или исключений

Вот что я пытаюсь

раскладка

<!DOCTYPE html>
<html lang="en">
 <head>
  <title>WebApp Name</title>
  <meta charset="utf-8" />
 </head>
 <body>
  <div id="menuContainer">
   @{Html.RenderPartial("~/Views/CustomPartials/_MainMenuPartial.cshtml");} @*Works*@
   @*@{Html.RenderAction("GetMenuStructure", "Custom");}*@ @*Not working*@
  </div>
  <div>
   @RenderBody()
  </div>
 </body>
</html>

Контроллер и метод действия

namespace Webappl.Controllers
{
 [Authorize]
 public class CustomController : Controller
 {
   [AllowAnonymous]
   [ChildActionOnly]
   public ActionResult GetMenuStructure()
   {
    return PartialView("~/Views/CustomPartials/_MainMenuPartial.cshtml");
   }
 }
}

_MainMenuPartial.cshtml

<ul id="ul_MainMenuStructure">
    <li><a href="#">Guest Pg1</a></li>
    <li><a href="#">Guest Pg2</a></li>
    <li><a href="#">Guest Pg3</a></li>
</ul>

Проблема в

@{Html.RenderPartial("~/Views/CustomPartials/_MainMenuPartial.cshtml");}

Отрисовывает содержимое _MainMenuPartial.cshtml в макет отлично.

В то время как

@{Html.RenderAction("GetMenuStructure", "Custom");}

Ничего не делает. Нет ошибок Без исключений. Просто пусто Если я поставлю точку останова на

return PartialView("~/Views/CustomPartials/_MainMenuPartial.cshtml");

Точка разрыва получает удар. Я нажимаю F5, и он идет вперед без каких-либо ошибок / исключений, но структура меню не отображается в макете. Все, что у меня есть, это пустой

<div id="menuContainer">
</div>

на последней странице при просмотре в браузере.

Мне нужно сделать это с помощью метода действия для выполнения определенной пользовательской логики. Вот почему частичное рендеринга недостаточно.

Я не смог найти аналогичное поведение, о котором сообщалось где-либо, включая stackru. Это могут быть плохие навыки игры в пинг / гугл.

Некоторая помощь будет очень цениться. Бьюсь головой об этом уже 3 дня.

1 ответ

Я просто поменяла

@Html.RenderAction("X", "Y")

к

@Html.Action("X", "Y")
Другие вопросы по тегам