我試圖將一個小的mvc2應用程序轉換爲mvc3剃刀語法。在我的mvc2應用程序中,我使用帶有母版頁的aspx視圖引擎。以Steven Sanderson的Pro MVC2書第二版爲例,在主頁中,我調用一個控制器動作,爲每個實體呈現局部視圖。這工作正常。ASP.NET MVC3 Razor語法幫助 - 我陷入了一個無限循環
<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);
}
任何幫助或提示,非常感謝。
感謝,
〜在聖地亞哥
好問題,我在網上查找同樣的問題...部分視圖工作,但測試現在打破;( – 2011-01-28 17:55:57