我在MVC3中有一个剃刀显示模板用于地址。以下是我用于地址一行的编码示例:
@Model.City<text>,</text>
当我将逗号直接放在变量名后面时,会产生语法错误。添加&lt; text&gt;逗号周围的标记修复了问题,但是当大多数剃刀代码如此简洁明了时,它看起来有点乱。
有更简洁,更简洁的方法吗?
编辑:这段代码位于if块内。我没有意识到,但事实证明这会影响razar解析东西的方式。
答案 0 :(得分:12)
您可以将表达式包装在括号中,以明确告诉解析器它的结束位置:
@(Model.City).
或者,您可以使用两个表达式:
@Model.City@('.')
击> <击> 撞击>
编辑:我误解了你的情况
在代码块(@if
,@for
,@{ ... }
)内,Razor解析器需要代码,而不是标记(或文本)。
如果您添加了HTML标记或<text>
标记,则会知道您正在为其添加标记。
但是,任意文本(例如,
)都被假定为C#源。
而不是使用<text>
标记告诉解析器您正在给予标记,you should use @:
@Model.City@:,