带分隔符的显式转换
若要定义应呈现 HTML 的代码块子节,请使用 Razor <text> 标记将要呈现的字符括起来:
1 2 3 4 5 |
@for (var i = 0; i < people.Length; i++) { var person = people[i]; <text>Name: @person.Name</text> } |
使用此方法可呈现未被 HTML 标记括起来的 HTML。 如果没有 HTML 或 Razor 标记,会发生 Razor 运行时错误。
<text> 标记可用于在呈现内容时控制空格:
- 仅呈现 <text> 标记之间的内容。
- <text> 标记之前或之后的空格不会显示在 HTML 输出中。
使用 @ 的显式行转换:
若要在代码块内以 HTML 的形式呈现整个行的其余内容,请使用 @:
语法:
1 2 3 4 5 |
@for (var i = 0; i < people.Length; i++) { var person = people[i]; @:Name: @person.Name } |
如果代码中没有
@:
,会生成 Razor 运行时错误。警告:Razor 文件中多余的 @
字符可能会导致代码块中后面的语句发生编译器错误。 这些编译器错误可能难以理解,因为实际错误发生在报告的错误之前。 将多个隐式/显式表达式合并到单个代码块以后,经常会发生此错误。
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-2.2#rendering-html
发表评论