是否有更简洁的方法在剃刀中使用@variable后有逗号

Ric*_*ide 3 razor asp.net-mvc-3

我在MVC3中有一个剃刀显示模板用于地址.以下是我用于地址一行的编码示例:

@Model.City<text>,</text>
Run Code Online (Sandbox Code Playgroud)

当我将逗号直接放在变量名后面时,会产生语法错误.在逗号周围添加<text>标记可以解决问题,但是当大多数剃刀代码如此简洁明了时,它看起来有点乱.

这样做有更整洁,更简洁的方法吗?

编辑:这段代码在if块内.我没有意识到,但事实证明这会影响razar如何解析东西.

SLa*_*aks 12

您可以将表达式包装在括号中,以明确告诉解析器它的结束位置:

@(Model.City).
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用两个表达式:

@Model.City@('.')
Run Code Online (Sandbox Code Playgroud)


编辑:我误解了你的情况.
内码块(@if,@for,@{ ... }),剃刀解析器期待代码,而不是标记(或文本).

如果您放入HTML标记或<text>标记,则会知道您正在为其添加标记.
但是,任意文本(例如,)都被认为是C#源.

您应该使用<text>,而不是使用标记告诉解析器您正在给予标记@:

@Model.City@:,
Run Code Online (Sandbox Code Playgroud)