如何在不关闭包含的<li>标签</li>的情况下在Razor中使用html帮助器

时间:2012-05-03 03:16:36

标签: asp.net-mvc razor

我正在使用以下助手来帮助我生成链接:

@helper BuildLink(string name, string action, string controller)
    {
    var url = Url.Action(action, controller);
    bool isActive = Request.Url.AbsolutePath.Equals(url, StringComparison.InvariantCultureIgnoreCase);
    <li class="@(isActive ? "current" : String.Empty)"><a href="@(url)">@name</a></li>
}

效果很好。问题是,我需要在文档的不同位置关闭我的“li”标记。如果我删除了帮助者的“关闭li”部分,当我尝试查看视图时收到错误消息:

分析器错误消息:辅助程序块缺少结束“}”字符。确保此块中的所有“{”字符都有匹配的“}”字符,并且没有任何“}”字符被解释为标记。

有没有办法包含这个结束“li”标签?

1 个答案:

答案 0 :(得分:6)

如果您在任何标记之前放置@:它避免了剃刀的结束标签验证 e.g。

@:<li>