Je souhaite mettre en œuvre un menu dans mon _Layout.cshtml
Vue:MVC4 RenderAction débordement provoque pile dans _Layout.cshtml
@Html.Partial("_LoginPartial")
@{ Html.RenderAction("Index", "Home"); }
@if (@ViewBag.Menus != null)
{
foreach (vw_UsuarioPerfilMenuFuncionalidade memo in @ViewBag.Menus)
{
if (memo.IdMenuLast == null)
{
<li><span>@memo.NomeMenu</span></li>
foreach (vw_UsuarioPerfilMenuFuncionalidade memo2 in @ViewBag.Menus)
{
if (memo.IdMenu == memo2.IdMenuLast)
{
<li><span>@memo2.NomeMenu</span></li>
}
}
}
}
}
Quand je charge la page, un System.StackOverflowException
est jeté:
An unhandled exception of type 'System.StackOverflowException' occurred in System.Web.dll
Pourquoi cette?
Je pense qu'il est lié à itérer la même collection dans les boucles foreach imbriquées (@ ViewBag.Menus). Je me demande si vous devriez itéter quelque chose de différent dans votre deuxième foreach. – Tommy
Mais si je lance le @ Html.ActionLink ("Accueil", "Index", "Accueil"), fonctionne bien sans aucun problème, mais le menu sera seulement sur une page à l'intérieur du BodyRender –