Asp.net mvc 4 html.render()方法时asp.net mvc 5堆栈溢出异常

Asp.net mvc 4 html.render()方法时asp.net mvc 5堆栈溢出异常,asp.net-mvc-4,Asp.net Mvc 4,我已经创建了一个具有以下操作的控制器。使用viewdata传递类别列表,如下所示 public ActionResult Home() { ViewData["categories"] = db.Categories.ToList(); return View(); } 我想使用局部视图呈现类别列表。 因此,使用以下标记创建局部视图 @using test.Models @{ ViewBag.Title

我已经创建了一个具有以下操作的控制器。使用viewdata传递类别列表,如下所示

 public ActionResult Home()
        {
            ViewData["categories"] = db.Categories.ToList();
            return View();
        }
我想使用局部视图呈现类别列表。 因此,使用以下标记创建局部视图

@using test.Models

@{
    ViewBag.Title = "mnuCategories";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Browse Categories</h2>

@foreach(Category c in (IEnumerable<Category>)ViewData["categories"])
{
    @c.CategoryName
}

但是当我运行应用程序时,它给了我“stackoverflow Exception”

您的局部视图不需要再次包含布局(甚至不需要再次设置标题)。调用视图将处理该问题

移除此块

@{
    ViewBag.Title = "mnuCategories";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

发布您收到的完整异常消息。此外,局部视图不需要再次包含布局(甚至不需要再次设置标题)。调用视图将处理该问题。尝试删除
Layout=“~/Views/Shared/_Layout.cshtml”非常感谢Brandon…已删除。“Layout=“~/Views/Shared/\u Layout.cshtml”并且有效…很高兴听到。我发布了与答案相同的评论。您可以通过单击旁边的复选标记将其选择为接受的答案。
@{
    ViewBag.Title = "mnuCategories";
    Layout = "~/Views/Shared/_Layout.cshtml";
}