【问题标题】:How to dynamically render partial view inside _layout.cshtml for different areas?如何在 _layout.cshtml 中为不同区域动态渲染局部视图?
【发布时间】:2019-03-07 18:57:42
【问题描述】:

我在主区域有一个布局页面(_layout.cshtml),三个区域称为员工区域,管理区域和主区域。每个区域都有自己的局部视图(侧菜单),称为_employeeSideMenu.cshtml,_adminSideMenu.cshtml ,_mainSidemenu.cshtml。 如何根据区域请求在_layout.cshtml页面中呈现sidemenu。

我接受这样的事情:

@if(Request from employee area)
{
    Html.Partial("_employeeSideMenu");
}
else if(Request from admin area)
{
    Html.Partial("_adminSideMenu");
}
else (Request from main area)
{
    Html.Partial("_mainSidemenu");
}

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您可以使用此ViewContext.RouteData.DataTokens["area"] 获取当前区域名称,然后将结果应用到您的逻辑中。

    【讨论】:

      【解决方案2】:

      我找到了解决这个问题的完美方法。这是-

      @if(ViewContext.RouteData.DataTokens["area"] = "EmployeeArea")
      {
          Html.Partial("_employeeSideMenu");
      }
      else if(ViewContext.RouteData.DataTokens["area"] = "AdminArea")
      {
          Html.Partial("_adminSideMenu");
      }
      else (ViewContext.RouteData.DataTokens["area"] = "MainArea")
      {
          Html.Partial("_mainSidemenu");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-09
        相关资源
        最近更新 更多