Dans _Layout.cshtml fichier J'ai entrée suivante:actions d'enfants ne sont pas autorisés à effectuer des actions rediriger - erreur tout en travaillant avec ASP.NET MVC 2 et Razor
@Html.Action("LoadPagesStructure", "Page")
intérieur PageController classe, LoadPagesStructure methos semble suivante:
[ChildActionOnly] /* this attribute indicates that an action should not
be invoked as a result of a user request (by url) */
public ActionResult LoadPagesStructure()
{
ViewModel.Pages = new List<string>() {"page1", "page2", "page3"};
return View();
}
Enfin, mon LoadPagesStructure.cshtml vue ressemble ci-dessous:
@inherits System.Web.Mvc.WebViewPage<dynamic>
<ul>
@foreach (var page in View.Pages) {
<li>
@Html.ActionLink(page, "Index", "Home")
</li>
}
</ul>
Malheureusement, une exception est levée après l'exécution:
System.InvalidOperationException: Child actions are not allowed to perform redirect actions.
Quelle est la façon de créer des liens vers mes pages dynamiquement?
PS: Je sais que je peux le faire comme ça: <a href="@page">@page</a>
. Néanmoins, je pense que ce n'est pas la bonne façon, car le contrôle du routage est impossible ici.
Cordialement