【问题标题】:Dynamic Menu Layout in ASP.NETASP.NET 中的动态菜单布局
【发布时间】:2013-07-25 05:53:06
【问题描述】:

我正在尝试在 ASP.NET MVC 4 中创建一个动态菜单布局。我所做的是在我的共享视图中我有以下调用

@{ Html.RenderAction("Index", "FooterMenu"); }

我有一个控制器和一个用于我的 FooterMenu 的视图。它也有一个模型。现在我尝试调用它,但是我不断收到此错误

System.StackOverflowException was unhandled

它一直指向我的索引

public ActionResult Index()
{
  return View(db.FooterMenus.ToList());
}

它还说确保我没有处于无限循环或递归中。但是我的代码很简单

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    我怀疑你想返回一个PartialView - 这样菜单就不会渲染布局,渲染菜单,渲染布局,渲染菜单......等等

    public ActionResult Index()
    {
      return PartialView(db.FooterMenus.ToList());
    }
    

    【讨论】:

      【解决方案2】:

      我相信你陷入了递归循环。我的猜测是 FooterMenu 中的 Index 视图正在使用共享视图,它本身正在调用 @{ Html.RenderAction("Index", "FooterMenu"); }

      【讨论】:

      • 哦,哇,这有道理,我如何才能在共享文件夹中使用表中的数据?那么
      • 返回 PartialView 而不是 View。 View 创建了 Queti Mporta 发现的循环,但 PartialView 只会返回您的菜单(没有再次调用菜单的布局)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2023-01-18
      • 1970-01-01
      • 2011-12-06
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多