Razor Pages @functions块与代码块

问题描述 投票:0回答:1

在Razor页面cshtml文件中,有人可以告诉我以下各项之间有什么区别:

@functions
{
    // Etc.
}

和:

@{
    // Etc.
}

似乎几乎是同一件事。

c# asp.net-core razor-pages
1个回答
0
投票
根据官方documentation

@

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#成员。
© www.soinside.com 2019 - 2024. All rights reserved.