堆栈不足以继续安全地执行程序

0 asp.net-mvc-4

我正在尝试使用asp .net mvc 4制作菜单.

调用菜单

@{Html.RenderAction("LeftMenu", "Navigation",
                      new { currentPoint = ViewData["CurrentCategory"] });}
Run Code Online (Sandbox Code Playgroud)

导航控制器:

public ViewResult LeftMenu(string currentPoint) {

        List<NavLink> navLinks = new List<NavLink>();
        navLinks.Add(new CategoryLink(null)
        {
            IsSelected = (currentPoint == null)
        });

        List<string> categories = new List<string>{
            "Bicycles",
            "Details"
        };

        foreach (var category in categories)
            navLinks.Add(new CategoryLink(category){
                IsSelected = (category == currentPoint)
            });

        return View(navLinks);
    }
Run Code Online (Sandbox Code Playgroud)

局部视图

@model IEnumerable<MvcWebShopApp.Controllers.NavigationController.NavLink>
<ul class="nav navbar-nav">
    @foreach (var link in Model)
    {
        <li class = "@(link.IsSelected ? "active": "")">
            <a href="@Url.RouteUrl(link.RouteValues)")>@link.Text</a>
        </li>
    }
</ul>
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的项目时,我得到了例外:

堆栈不足以继续安全地执行程序.这可能是因为调用堆栈上的函数太多或堆栈上的函数占用太多堆栈空间.

请帮忙.

SLa*_*aks 7

您实际上是渲染完整视图,而不是局部视图.
这包括布局,再次呈现该视图,创建堆栈溢出.

你需要回来PartialView().