我想要完整的代码在mvc中填充数据库中的菜单

时间:2011-10-31 11:54:11

标签: asp.net-mvc model-view-controller

我用数据库菜单创建了一个mvc应用程序。我想在母版页中第一次加载菜单时渲染菜单。

请帮帮我..

1 个答案:

答案 0 :(得分:0)

据我所知,你需要一个菜单​​,你需要在每个页面上呈现。请按照以下步骤操作:

  1. 为菜单项创建控制器操作。如下所示:

      [ChildActionOnly]
      public ActionResult sampleChildAction() {
    
          var model = _myMenuRepo.GetAll();
          return View(model);
      }
    
  2. 为此操作创建一个视图。看起来像下面这样:

      @{
          Layout = null;
      }
    
      <ul>
          @foreach(var item in Model) { 
              <li>
                  <a href="@item.MyHref">@item.MyDesc</a>
              </li>
          }
      </ul>
    
  3. 从您的布局中调用此操作。代码看起来像这样:

    <div>
        <h3>Menu</h3>
    
        @Html.Action("sampleChildAction", 
          new { controller = "Sample" }
        )
    </div>
    
  4. 本文也可以帮助您:

    http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx

    对于进一步的实现,您可能需要考虑缓存应用程序的这一部分:

    http://www.tugberkugurlu.com/archive/donut-hole-caching-in-asp-net-mvc-by-using-child-actions-and-outputcacheattribute