在MVC 3的部分视图中允许“无效”html标记

时间:2011-06-14 13:59:24

标签: asp.net-mvc-3

我在使用razor引擎生成html时遇到问题。在我的情况下,我有一个应用程序,其中存储过程列出嵌套树,并计算了有多少子菜单,有多少兄弟姐妹等。我需要在局部视图中有一些逻辑。剃刀引擎似乎不喜欢它,因为它似乎是无效的标记。我怎么能解决它打印出我想要的东西?

<ul class="menu">
    @foreach (var item in Model.NestedMenus)
    {
        if (item.StartNode > 0)
        {
            if (item.SubMenus > 0)
            {
            <li style="submenu">
            }
            else
            {             
            <li style="menu">        
            }
        @item.MenuName      
        }
        else
        {
        </li>
        }
    }
</ul>

我必须使用一些旧学校的Response.Write或summet吗? :)

/ L

1 个答案:

答案 0 :(得分:1)

您需要prefix the lines with @:以防止Razor尝试解析标记 否则,它将需要解析标记,以便在标记的顶层之外结束代码块。