在启动dotnet web应用程序时,您可以在几种类型的应用程序之间进行选择,其中包括mvc、webapp和Blazor:
dani@localhost ~ $ dotnet new
Templates Short Name Language Tags
-------------------------------------------- ------------------- ------------ ----------------------
Razor Page page [C#] Web/ASP.NET
...
Blazor Server App blazorserver [C#] Web/Blazor
Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly
...
ASP.NET Core Web App (Model-View-Controller) mvc [C#], F# Web/MVC
ASP.NET Core Web App webapp [C#] Web/MVC/Razor Pages
...
如果你创建了一个webapp
,你可以看到razor页面:
dani@localhost pp2 $ tree
.
├── appsettings.Development.json
├── appsettings.json
├── obj
│ ├── ...
├── Pages
│ ├── Error.cshtml <-- Razor Page
│ ├── Error.cshtml.cs <-- Razor Page
│ ├── Index.cshtml
│ ├── Index.cshtml.cs
│ ├── Privacy.cshtml
│ ├── Privacy.cshtml.cs
│ ├── Shared
│ │ ├── _Layout.cshtml
│ │ └── _ValidationScriptsPartial.cshtml
│ ├── _ViewImports.cshtml
│ └── _ViewStart.cshtml
├── ...
引用自ASP.NET Core中的Razor Pages入门:
Razor Pages可以使编写面向页面的场景比使用控制器和视图更加容易和高效。
如您所见,一个Razor页面是一个cshtml
文件(模板)加上一个cs
文件(行为),页面被呈现为HTML并发送到浏览器。
还有另一种类型的应用程序,Blazor。 引用自ASP.NET Core Blazor入门:
Blazor是一个用.NET构建交互式客户端Web UI的框架
重要术语“交互式”,不仅渲染HTML,而且还是一个使页面具有交互性的语言(不仅在服务器上渲染HTML并将其发送到客户端)
@page
指令时,它变成了可路由的(类似于“blazor页面”),但它仍然是一个组件。Razor组件是.razor
文件中的Blazor组件的非正式模板名称。
Blazor页面是具有@page "/..."
指令的Blazor组件(.razor)。
请注意,图标是正确的。只需选择紫色的Bl@zor即可。
.cshtml
中,并且可以(必须)有一个没有路由的@page
。 - H H