带有Razor视图引擎的MvcContrib MenuBuilder

时间:2010-11-29 14:34:10

标签: razor mvccontrib

下面的代码(在.cshtml文件中)会导致菜单在文档流之外呈现,即源代码中html标记上方的第一行

@{
    Html.Menu(
        Menu.Begin(new[]
                        {
                            Menu.Link(Url.Action("action1", new { controller="controller" }), "Action1"),
                            Menu.Link(Url.Action("action2", new { controller="controller" }), "Action2")
                        }));
}

然而在webforms项目中,以下工作:

<% Html.Menu(
        Menu.Begin(new[]
                        {
                            Menu.Link(Url.Action("action1", new { controller="controller" }), "Action1"),
                            Menu.Link(Url.Action("action2", new { controller="controller" }), "Action2")
                        })); %>

我相信这两种语法应该会产生相同的结果。

2 个答案:

答案 0 :(得分:0)

@Html.Menu(
        Menu.Begin(new[]
                        {
                            Menu.Link(Url.Action("action1", new { controller="controller" }), "Action1"),
                            Menu.Link(Url.Action("action2", new { controller="controller" }), "Action2")
                        }))

这应该有效..删除大括号{}

答案 1 :(得分:0)

您应该认为@()等同于&lt;%=%&gt;转换为剃刀时,而不是@ {}。