Ell*_*iot 5 vb.net asp.net-mvc if-statement razor
Razor似乎不喜欢我的一行If语句......通常在VB.NET中,我可以If像这样编写一行语句:
If True Then Dim x As Integer
Run Code Online (Sandbox Code Playgroud)
但是,当我在这样的.vbhtml文件中对Razor做同样的事情时......
@If True Then Dim x As Integer
Run Code Online (Sandbox Code Playgroud)
我收到了错误
"If"块未终止.所有"If"语句必须以匹配的"End If"结束.
是什么赋予了?Razor为什么不接受这个?我意识到一个简单的解决方案就是使用类似的代码块
@code
If True Then Dim x As Integer
End Code
Run Code Online (Sandbox Code Playgroud)
但那不是我想要的.我很好奇为什么Razor无法If使用just 识别VB.Net单行语句@If....有任何想法吗?
在VB.Net中,你做一个内联If语句,如下所示:
@(If(boolCondition, "truePart", "falsePart"))
Run Code Online (Sandbox Code Playgroud)
C# 也有同样的问题,如下所述:
\n\n\n\n\nRazor 使用代码语法来推断缩进:Razor 解析器通过读取开始和结束字符或 HTML\n 元素来推断代码\n 结尾。因此,即使对于单行指令,也必须使用开头 \xe2\x80\x9c{\xe2\x80\x9c 和结尾 \xe2\x80\x9c}\xe2\x80\x9d
\n
你做了正确的事
\n\n@code\n If True Then Dim x As Integer\nEnd Code\nRun Code Online (Sandbox Code Playgroud)\n\n你可以这样做,但这不是你喜欢的(内联)
\n\n@If (True) Then\n Dim x As Integer\nEnd If\nRun Code Online (Sandbox Code Playgroud)\n