0

事前に助けてくれてありがとう。私はMVCに非常に慣れていません。現在、私は MVC 4 で作業しています。_viewstart で参照される次のレイアウトがあります (これは VB 構文であることに注意してください)。その中で、子アクションを使用して、xml ファイルに基づいてメニューをレンダリングしています。アプリを最初に実行したときは問題なく動作します。ただし、ページを更新したり、アプリ内の別の URL に移動するとすぐに、メニューが失われます。

    <header>
        <div class="content-wrapper">
            <div class="float-left">
                <p class="site-title">@Html.ActionLink("Logo Here", "Index", "Home")</p>
            </div>
            <div class="float-right">
                <section id="login">
                    @Html.Partial("_LoginPartial")
                </section>
                <nav>
                    <ul id="menu">
                        @Html.Action("Menu", "_MenuBar")
                    </ul>
                </nav>
            </div>
        </div>
    </header>

部分的なビューは次のとおりです。

     @ModelType IEnumerable(Of MenuItem)
     @Scripts.Render("~/bundles/jquery")
     @Styles.Render("~/Content/css")
     @Code
       For Each item In Model
         @:<li>@Html.ActionLink(item.Name, item.Action, item.Controller)</li>

       Next
     End Code

そして、_layout から呼び出されるコントローラーで呼び出される子アクションは次のとおりです。

    Public Class _MenuBarController
        Inherits System.Web.Mvc.Controller

    <ChildActionOnly>
    Function Menu() As PartialViewResult
        Dim filePath = Server.MapPath("~/bin/Conf/MenuData.xml")
        Dim menuBar As List(Of MenuItem) = MenuResolution.GetStandardMenu(filePath)
        Return PartialView("~/Views/Shared/_MenuBar.vbhtml", menuBar)
    End Function

End Class
4

0 に答える 0