Estoy tratando de convertir una pequeña aplicación mvc2 a la sintaxis de la máquina de afeitar mvc3. En mi aplicación mvc2 estoy usando el motor de vista aspx con una página maestra. Siguiendo el ejemplo del libro Pro MVC2 de Steven Sanderson, segunda edición, en la página maestra llamo una acción de controlador que representa una vista parcial para cada entidad. Esto está funcionando correctamente.Ayuda de sintaxis ASP.NET MVC3 Razor - Me estoy atascado en un bucle infinito
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
usando _layout.cshtml and razor Estoy intentando esto. Aquí es donde entra en juego mi problema.
<div id="categories">
@{
Html.RenderAction("Menu", "Nav");
}
</div>
Esto está causando un bucle infinito y ahora me estoy poniendo por extraño que parezca un StackOverflowException. ¿Alguien puede ayudarme a corregir el problema? Aquí está el código del método del controlador.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Cualquier ayuda o sugerencia es muy apreciada.
Gracias,
~ ck en San Diego
Buena pregunta, estaba buscando en internet el mismo problema ... PartialView funciona pero las pruebas están rotas ahora; ( –