ASP.NET MVC3 Razor-syntax helfen - ich bin immer stecken in einer unendlichen Schleife

Ich versuche zu konvertieren, eine kleine mvc2 Anwendung der mvc3 razor-syntax. In meinem mvc2 Anwendung bin ich mit der aspx-view-Motor mit einer master-Seite. Nach dem Vorbild von Steven Sanderson Pro-MVC2-Buch, 2. Auflage, in der masterpage nenne ich eine controller-Aktion, macht einen seitlichen Blick für jede Entität. Dies ist korrekt arbeitet.

 <div id="categories">
    <% Html.RenderAction("Menu", "Nav"); %>
</div>

mit _layout.cshtml und razor, ich versuche dies. Hier ist, wo mein problem kommt in.

 <div id="categories">
    @{ 
        Html.RenderAction("Menu", "Nav"); 

    }
</div>

Dadurch verursacht wird, dass eine unendliche Schleife und ich bin immer seltsam genug, eine StackOverflowException. Kann mir jemand helfen das problem zu beheben? Hier ist die controller-Methode code.

  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);
    }

Jede Hilfe oder Tipps wird am meisten geschätzt.

Dank,

~ck in San Diego

  • Gute Frage, ich war auf der Suche im internet für das gleiche problem... PartialView funktioniert, aber die tests sind nun gebrochen ;(
InformationsquelleAutor Hcabnettek | 2010-11-22
Schreibe einen Kommentar