如果我使用下面的控制器方法:剃刀局部视图不渲染
public ActionResult Menu()
{
// do stuff...
return PartialView("viewName", navLinks);
}
调用_Layout.cshtml这样的局部视图:
<div id="categories">
@{ Html.Action("Menu", "Nav"); }
</div>
用下面ASCX局部视图:
<%@ Control Language="C#"
Inherits="ViewUserController<IEnumerable<MyDataType>>" %>
<% foreach(var link in Model) { %>
<%: Html.Route.Link(link.Text, link.RouteValues) %>
<% } %>
一切工作正常。好极了。
,但如果我用以下任一RAZOR部分观点:
@model IEnumerable<MyDataType>
@foreach(var link in Model){
Html.RouteLink(link.Text, link.RouteValues);
}
或...
@model IEnumerable<MyDataType>
@{
Layout = null;
}
@foreach(var link in Model){
Html.RouteLink(link.Text, link.RouteValues);
}
我什么也没得到。没有异常抛出,我只是没有得到任何渲染。我知道问题不在于控制器方法(它对ASCX局部视图很有用)。
这是怎么回事?
谢谢你,一个非常好的解释。毫无疑问,我会再次提及这一点以备将来参考。 – Didaxis 2011-05-04 14:11:10