I ' m пытается преобразовать небольшое приложение mvc2 в синтаксис mvc3 razor. В моем приложении mvc2 я использую механизм просмотра aspx с главной страницей. Следуя примеру из книги Стивена Сандерсона Pro MVC2 2-е издание, на главной странице я вызываю действие контроллера, которое визуализирует частичное представление для каждого объекта. Это работает правильно.
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
с помощью _layout.cshtml и бритвы Я пробую это. Вот где возникает моя проблема.
<div id="categories">
@{
Html.RenderAction("Menu", "Nav");
}
</div>
Это вызывает бесконечный цикл, и я получаю, как ни странно, исключение StackOverflowException. Может ли кто-нибудь помочь мне исправить проблему? Вот код метода контроллера.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Любая помощь или советы приветствуются.
Спасибо,
Следуя примеру из книги Стивена Сандерсона Pro MVC2 2-е издание, на главной странице я вызываю действие контроллера, которое визуализирует частичное представление для каждого объекта. Это работает правильно.
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
с помощью _layout.cshtml и бритвы Я пробую это. Вот где возникает моя проблема.
<div id="categories">
@{
Html.RenderAction("Menu", "Nav");
}
</div>
Это вызывает бесконечный цикл, и я получаю, как ни странно, исключение StackOverflowException. Может ли кто-нибудь помочь мне исправить проблему? Вот код метода контроллера.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Любая помощь или советы приветствуются.
Спасибо,
Следуя примеру из книги Стивена Сандерсона Pro MVC2 2-е издание, на главной странице я вызываю действие контроллера, которое визуализирует частичное представление для каждого объекта. Это работает правильно.
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
с помощью _layout.cshtml и бритвы Я пробую это. Вот где возникает моя проблема.
<div id="categories">
@{
Html.RenderAction("Menu", "Nav");
}
</div>
Это вызывает бесконечный цикл, и я получаю, как ни странно, исключение StackOverflowException. Может ли кто-нибудь помочь мне исправить проблему? Вот код метода контроллера.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Любая помощь или советы приветствуются.
Спасибо,
m, как ни странно, возникает исключение StackOverflowException. Может ли кто-нибудь помочь мне исправить проблему? Вот код метода контроллера.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Любая помощь или советы приветствуются.
Спасибо,
m, как ни странно, возникает исключение StackOverflowException. Может ли кто-нибудь помочь мне исправить проблему? Вот код метода контроллера.
public ViewResult Menu(string personId)
{
Func<string, NavLink> makeLink = pId => new NavLink
{
Text = pId ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person"})
};
List<NavLink> navLinks = new List<NavLink> {makeLink(null)};
Func<Person, NavLink> makeLink2 = p => new NavLink
{
Text = p.Name ?? "Home"
, RouteValues = new RouteValueDictionary(new { controller = "Person", action = "Person", personId = p.Id })
};
var people = usersRepository.People.OrderBy(x => x.Name);
var peopleLinks = EnumerableHelpers.MakeLinks(people, makeLink2);
navLinks.AddRange(peopleLinks);
return View("_menu", navLinks);
}
Любая помощь или советы приветствуются.
Спасибо,
~ ck в Сан-Диего