是否可以在 Blazor 中混合使用客户端和服务器端方法?

Chu*_*itt 5 blazor blazor-server-side

例如,假设我正在创建一个简单的更改密码页面:

  • 用户名
  • 当前密码
  • 新密码
  • 确认新密码

总的来说,我希望使用服务器端 Blazor 来消除编写单独 API 后端的需要。但是,我希望在客户端运行一些简单的验证代码 - 新密码和确认密码不匹配、密码复杂性等。某些 Blazor 方法可以在客户端、服务器端 Blazor 应用程序中运行吗?或者更好的是,相同的验证方法可以同时运行客户端和服务器端吗?

当然,我总是可以使用 JavaScript 进行客户端验证,但最好用 C# 编写所有代码。

Art*_*tak 6

简短的回答是“不”。

然而,最接近您要寻找的是Blazor WebAssembly Hosted项目模板,它是 Blazor WASM 以及托管它的支持 ASP.NET Core Web 应用程序。您的客户端代码将采用 C# 语言,您将能够运行您正在寻找的任何验证。但是,您必须使用HttpClient. 这样您就可以完全控制客户端上运行的代码和服务器上运行的代码。

默认hosted项目模板有一个很好的例子(获取数据页面)。您可以使用 创建它dotnet new blazorwasm --hosted并查看它是如何完成的。希望这可以帮助。