当我使用partial view(MVC3/Razor)时,会出现这个问题,但我相信 - 这是清晰的Razor语法问题,不直接与局部视图相关。 所以 - 我有局部视图Menu.cshtml全标记为:ASP.NET MVC 3剃刀语法问题
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
@Html.RouteLink(link.Text, link.RouteValues);
}
没问题 - “家长”视图叫它@ {Html.RenderAction(“菜单”,“导航”);}和所有的工作作为魔术。 但是,如果我将编辑Menu.cshtml为:
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
Html.RouteLink(link.Text, link.RouteValues);
}
(!见 - NO '@' Html.RouteLink)之前都只是朗声道:现在@ {Html.RenderAction( “菜单”,“导航“);}输出完全是空的,没有一个HTML标签。
想知道 - 两段代码有什么区别?我假设@之前foreach也自动“落入”并适用于Html.RouteLink以及?所以 - 我错了吗?
你先生,是我的英雄。我正在通过看起来同样的SportsStore文章,但我正在转换到VB.Net。 C#和VB之间的转换通常是微不足道的,但使用Razor可能会非常棘手。我在RouteLink中遇到了同样的问题,不能创建输出,看起来VB.Net遭受同样的缺陷(阅读:应用相同的逻辑)......我添加了“@”,并且所有的事情都再次被点击了。谢谢@Smarty – Smudge202 2011-08-03 12:25:11