在Razor页面cshtml文件中,有人可以告诉我以下各项之间有什么区别:
@functions
{
// Etc.
}
和:
@{
// Etc.
}
似乎几乎是同一件事。
@
Razor代码块以@
开头,并由{}
括起来。与表达式不同,代码块内的C#代码不会呈现。视图中的代码块和表达式具有相同的作用域,并按以下顺序定义:
@{
var quote = "The future depends on what you do today. - Mahatma Gandhi";
}
<p>@quote</p>
@{
quote = "Hate cannot drive out hate, only love can do that. - Martin Luther King, Jr.";
}
<p>@quote</p>
@ code
@code
块使Razor组件可以将C#成员(字段,属性和方法)添加到component:
@code{ // C# members (fields, properties, and methods) }
@ functions
@functions
指令允许将C#成员(字段,属性和方法)添加到生成的类:
@functions { // C# members (fields, properties, and methods) }
在Razor组件中,使用@code
而不是@functions
添加C#成员。