代码块(Code Blocks)用于封装C#代码语句。它以@(At)字符开头,并用{}(花括号)括起来。与表达式不同,代码块中的C#代码不会呈现。代码block中的默认语言是C#,但是无涯教程可以转换回HTML语言。代码blocks中的超文本标记语言将呈现为超文本标记语言。
//Index.cshtml
@{ Layout = null; var name = "John"; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <h2>My name is: @name </h2> </body> </html>
它会产生以下输出。
C#是Razor代码块的默认语言。在代码块中编写的超文本标记语言被呈现为超文本标记语言,这称为隐式转换。Razor代码阻止隐式转换HTML代码并呈现到视图页面。
在下面的代码中,编写了HTML,并且执行时没有错误。
//Index.cshtml
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> @{ var name = "Learnfk"; <h4>Welcome to the @name </h4> } </body> </html>
它会产生以下输出。
有时,当无涯教程定义应该呈现HTML语言的代码的子节时,使用Razor<text>标记将要呈现的字符括起来。
它被强制使用Text标记。否则,它将抛出编译时错误。请参见以下代码。
//Index.cshtml
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> @for (var i = 0; i < 5; i++) { <text>i= @i </text> <br/> } </body> </html>
它会产生以下输出。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)