此代码,在 Razor 视图中:
if (true)
{
<table>
<tbody>
}
...
if (true)
{
</tbody>
</table>
}
不运行。}
它声称第一个语句没有结束if()
,我猜这是因为<table>
标签。
有没有办法解决这个问题来有条件地插入我的<table>
标签?
此代码,在 Razor 视图中:
if (true)
{
<table>
<tbody>
}
...
if (true)
{
</tbody>
</table>
}
不运行。}
它声称第一个语句没有结束if()
此代码,在 Razor 视图中:
if (true)
{
<table>
<tbody>
}
...
if (true)
{
</tbody>
</table>
}
不运行。}
它声称第一个语句没有结束if()
,我猜这是因为<table>
标签。
有没有办法解决这个问题来有条件地插入我的<table>
标签?
尝试通过将 if 块括在 @{ } 语句中来使用剃须刀代码块,或者在 if 前面加上 @ 使其显示为 @if:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
尝试在标签前添加@:
:
if (true)
{
@:<table>
@:<tbody>
}
...
if (true)
{
@:</tbody>
@:</table>
}
您可以将其作为字符串插入,然后它们不会被解析为 html 并且不会干扰语法:
@Html.Raw(true?"<table><tbody>":"")
@Html.Raw(true?"</tbody></table>":"")
默认情况下,Razor 确实希望匹配的结束标记位于语句内部。
您可以使用特殊<text>
标签来帮助 Razor:
@if (true) {
<text>
<table>
<tbody>
</text>
}
尝试通过将 if 块括在 @{ } 语句中来使用剃须刀代码块,或者在 if 前面加上 @ 使其显示为 @if:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx