鉴于Razor内容的两个例子:
<div>@emailAddress</div>
并且
<div>cbehrens@emailAddress.com</div>
我希望第一个输出一个名为email address的变量的值,第二个将打印文字文本&#34; cbehrens@emailAddress.com"。
Razor如何区分@符号的这两种用法?
答案 0 :(得分:0)
Razor以HTML模式开始,直到看到第一个@字符,然后
因此带下划线的部分将被视为C#源代码:
<div>@emailAddress</div>
============
<div>cbehrens@emailAddress.com</div>
================
这并不总是你想要的...... emailAddress
可能没有名为com
的属性。
要解决此问题,请使用括号括起C#表达式:
<div>cbehrens@(emailAddress).com</div>
==============
结束括号表示“结束表达”,解析器切换回HTML模式。
如果您确实要输出@
字符,请改用@@
:
<div>cbehrens@@emailAddress.com</div>