Asp.net mvc 4 堆栈不足,无法继续安全执行程序

Asp.net mvc 4 堆栈不足,无法继续安全执行程序,asp.net-mvc-4,Asp.net Mvc 4,我正在尝试用asp.NETMVC4制作一个菜单 呼叫菜单 @{Html.RenderAction("LeftMenu", "Navigation", new { currentPoint = ViewData["CurrentCategory"] });} 导航控制器: public ViewResult LeftMenu(string currentPoint) { List<NavLink> navLinks = n

我正在尝试用asp.NETMVC4制作一个菜单

呼叫菜单

@{Html.RenderAction("LeftMenu", "Navigation",
                      new { currentPoint = ViewData["CurrentCategory"] });}
导航控制器:

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);
    }
公共视图结果左菜单(字符串currentPoint){ List navLinks=新列表(); 添加(新类别链接(空) { IsSelected=(currentPoint==null) }); 列表类别=新列表{ “自行车”, “详情” }; foreach(类别中的var类别) 添加(新类别链接(类别){ IsSelected=(类别==当前点) }); 返回视图(导航链接); } 局部视图

@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>
@model IEnumerable
    @foreach(模型中的var链接) {
  • }
但当我运行我的项目时,我遇到了一个例外:

堆栈不足,无法继续安全执行程序。这个可以 由于调用堆栈上的函数太多或 堆栈使用了太多的堆栈空间


请提供帮助。

您实际渲染的是完整视图,而不是局部视图。
这包括再次呈现该视图的布局,从而导致堆栈溢出


您需要返回
PartialView()

堆栈跟踪是什么?在注释中显示它太大了。非常感谢。。。我在这个问题上也花了很多时间。这解决了我的问题。