MVC-verschachtelte Ansichten und Teilansichten

Ich bin gerade dabei, ein Prototypprojekt mit MVC 3 zu erstellen, und bin auf eine Situation gestoßen, auf die ich scheinbar keine Antwort finde, und es scheint, als würde ich das Problem auf die falsche Weise angehen.

Ein kurzer Überblick über mein Projekt; Es basiert auf der MVC-Vorlage, die Sie mit Visual Studio erhalten, und ich verwende die Links (Registerkarten) in der bereitgestellten _Layout-Ansicht, um auf einige meiner anderen Ansichten zuzugreifen. Einer dieser Links öffnet eine zweite Teilansicht, die wiederum Links für weitere Ansichten enthält (admin-spezifisch, daher der Split). Das Problem, das ich habe, ist, dass ich nicht scheinen kann, Ansichten mit anzuzeigen@RenderBody in der zweiten Teilansicht, die ich verstehe, ist, weil Sie nicht mehr als eine haben können@RenderBody in einer fertigen HTML-Datei, was Sinn macht.

Meine Frage ist also, wie kann ich die Ansichten auf diese Weise anzeigen? Und was wahrscheinlich noch wichtiger ist: Ist dies der richtige Weg, um dieses von mir angestrebte Untermenüsystem zu erreichen, oder gibt es einen besseren Weg, um dies zu erreichen?

Hier sind die relevanten Teile der Ansichten, zuerst die 'Haupt'-_Layout-Datei:

<body>
    <div class="page">
        <header>
            <div id="title">
                <h1>Test App</h1>
            </div>
            <nav>
                <ul id="menu">
                    <li>@Html.ActionLink("Home", "Index", "Home")</li>
                    @if (User.Identity.IsAuthenticated)
                    {
                        <li>@Html.ActionLink("Contracts", "List", "Contract", new { user=User.Identity.Name, page=1 }, null)</li>
                    }
                    @if (User.IsInRole("Administrator"))
                    {
                        <li id="admin">@Html.ActionLink("Administration", "Administration", "Home")</li>
                    }
                </ul>
            </nav>
        </header>
        <section id="main">
            @RenderBody()
        </section>
        <footer>
        </footer>
    </div>
</body>

Beim Klicken auf die<li id="admin">@Html.ActionLink("Administration", "Administration", "Home")</li> link, dann gibt der Home-Controller die unten gezeigte zweite Teilansicht zurück:

<header>
    <div id="admintitle">
        <h1>Administration</h1>
    </div>  
</header>
<body>
    <div id="div-1a">
         <nav>
            <ul id="adminmenu">
                <li>@Html.ActionLink("Contact", "List", "Contact")</li>
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
            </ul>
        </nav>
    </div>
    <div id="div-1c">
        <h1>Test</h1>   
    </div>
    <section id="adminmain">
        @RenderBody()
    </section>
</body>

Wenn ich versuche, den Code auszuführen, schlägt er aufgrund der Sekunde fehl@RenderBody, was verständlich ist.

Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen.

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage