我有一些标签,我想说“如果它们当前位于此标签所指的页面上,请将其设为跨度。否则,请将其设为链接。”在伪剃刀中,看起来像这样:
@if(CurrentlyOnThisPage) {
<span>
} else {
<a>
}
Tab Content
@if(CurrentlyOnThisPage){
</span>
} else {
</a>
}
Razor(正确)指出我没有关闭我的开始标记,因此无法解析此语法。如果标签内容很小,我可以使用Html.ActionLink
,但我有几行内容,我想保留HTML编辑器的好处,而不是把它全部放到一个字符串中。有没有办法做到这一点?
答案 0 :(得分:8)
您可以将标记写为文字文本,以防止Razor解析它们:
@:<span>
答案 1 :(得分:4)
这样的事情怎么样?
@{
var linkOrSpan= CurrentlyOnThisPage ? "span" : "a";
}
<@linkOrSpan><text>Tab Content</text></@linkOrSpan>
关于使用此标记关闭标记没有错误。
看起来更清洁ihmo。
HTH
答案 2 :(得分:3)
或者只是明确地写出来:
@if(CurrentlyOnThisPage)
{
<span>tabcontent</span>
} else {
<a>tabcontent</a>
}