作为示例,假设我正在创建一个简单的“更改密码”页面:
总的来说,我想使用服务器端Blazor来消除编写单独的API后端的需要。但是,我希望一些简单的验证代码可以在客户端中运行-新密码和确认密码不匹配,密码复杂度等。可以在服务器端Blazor应用程序的客户端中运行某些Blazor方法吗?甚至更好,可以在客户端和服务器端同时运行相同的验证方法吗?
当然,我总是可以使用JavaScript进行客户端验证,但是最好使用C#编写所有代码。
答案 0 :(得分:2)
最简单的答案是“不”。
但是,最接近您要查找的是Blazor WebAssembly Hosted
项目模板,它是Blazor WASM,带有支持该模板的ASP.NET Core Web应用程序。
您的客户端代码将使用C#,并且您将能够运行所需的任何验证。但是,您将必须使用HttpClient
的实例显式调用在宿主Web应用程序(后端)中公开的API。这样,您可以完全控制客户端上运行的代码和服务器上运行的代码。
默认的hosted
项目模板提供了一个很好的示例(获取数据页面)。您可以使用dotnet new blazorwasm --hosted
来创建它,并查看它是如何完成的。
希望这会有所帮助。
答案 1 :(得分:0)
我+1您的请求,这将节省很多编码-Silverlight确实存在此模式-被称为RIA。