注意事项
1.C#中的""和html中的""
为了避免C#中的字符串的""和html中属性的""冲突,建议如果html属性中嵌入了C#代码,那么html的属性的值用单引号。
对的例子:
style='display:@(message.IsHide?"none":"block")'
错误的例子
style="display:@(message.IsHide?none:block)"
2.razor可自动识别代码,但是特殊字符号需要括号
razor会自动识别哪里是普通字符串,那里是表达式,主要就是根据特殊字符号来分辨。
<a href="Course@Courseld.ashx"/>
这样写是不对的。,否则razor会认为ashx是Courseld的一个属性,应该加上()强制让引擎吧Courseld识别成一个单独的语法,不确定的加个括号。
<a href="Course(@Courseld).achx">
3.邮箱格式的字符串属性
一下这种邮箱合适的字符,razor会自动识别是邮箱,所有不会把@qq.com当成qq对象的com属性。但是对于特殊的邮箱或者我们显示的就是@,那就就可以使用@转义@,也就是"@@"
<span>333@qq.com</span>
比如
<li>item_@item.Lenth</span></li>
看上方,如果按照以前的思维,会输出字符串item的长度,但是事实不是这样,它会被默认成邮箱,因此应该使用(),变成下面这个样式,才是输出item的长度。
<li>item_@(item.Lenth)</span></li>
4.razorz注释
razorz注释使用 @*注释内容*@ 来进行注释。不过一般不在cshtml中写代码注释。
5.签的属性中以"~/"开头,自动进行虚拟路径
cshtml中任何html标签的属性中以"~/"开头,则会自动进行虚拟路径的处理,当然一般是给<script>的 src属性,<llink>的href属性,<a>标签的href属性,<img>的src属性用的。