2013-12-03 4 views
0

Я пытаюсь сделать меню с ASP .NET MVC 4.Недостаточно стека для продолжения выполнения программы благополучно

Вызов меню

@{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); 
    } 

Частичная Просмотр

@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> 

Бу t, когда я запускаю свой проект, я получил исключение:

Недостаточно стека, чтобы продолжить выполнение программы безопасно. Это может произойти из-за слишком большого количества функций в стеке вызовов или функции на стеке , используя слишком много пространства стека.

Просьба помочь.

+0

Что такое трассировка стека? – SLaks

+0

Это большой, чтобы показать это в комментарии. – user2279357

ответ

7

Фактически вы представляете полный вид, а не частичный вид.
Это включает в себя макет, который снова отображает этот вид, создавая переполнение стека.

Необходимо вернуть PartialView().

+0

Thx so much, я трачу так много времени, чтобы исправить эту проблему .... – user2279357

+0

Спасибо большое ... Я также потратил много времени на эту проблему. Это исправило мою проблему. –

Смежные вопросы

 Смежные вопросы