我正在查看其他人的HTML(在.NET网络应用程序中)并继续看到如下所示的代码:
@("<foo>")
但似乎这可以简单地写成foo
并获得相同的结果。我假设这是剃刀语法,但我不明白用@(" ")
括起字符串的目的。
任何人都能解释一下吗?使用谷歌很难找到一个明确的答案。
提前致谢!
答案 0 :(得分:2)
一个可能的原因是允许在多个地方关闭标签,例如
<div>
@(if foo == bar)
{
//some content here
</div>
}
else
{
//some other content here
</div>
}
无效的剃刀语法在哪里
@Html.Raw("<div>")
@(if foo == bar)
{
//some content here
@Html.Raw("</div>")
}
else
{
//some other content here
@Html.Raw("</div>")
}
有效。
答案 1 :(得分:0)
作为上述评论的补充,这里是一个在for循环中使用它的例子:
<div class="row">
@for (var i = 0; i < 9; i++)
{
if (i != 0 && i % 3 == 0)
{
@("</div><div class='row'>")
}
<div class="col">@i</div>
}
</div>
大致会产生:
<div class="row">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
</div>
<div class="row">
<div class="col">4</div>
<div class="col">5</div>
<div class="col">6</div>
</div>
<div class="row">
<div class="col">7</div>
<div class="col">8</div>
<div class="col">9</div>
</div>