在服务器端 Blazor 项目中搭建标识时出错
Posted
技术标签:
【中文标题】在服务器端 Blazor 项目中搭建标识时出错【英文标题】:Error when scaffolding identity in server side Blazor project 【发布时间】:2020-11-12 03:54:16 【问题描述】:我正在使用为身份验证选择“个人用户帐户”选项创建的服务器端 Blazor 应用程序。
我现在想自定义登录页面,但是当我选择通过脚手架添加身份页面时,我收到以下错误,我不确定从哪里开始进行故障排除。
在内存中编译项目失败
.OnInitializedAynsc() 找不到合适的方法来覆盖
我的项目中的每个页面都列出了上述错误。
【问题讨论】:
你能分享EditAdministrator.razor.cs
文件中的OnInitializedAsync
方法吗?不需要整个代码,只需要方法定义。
它是服务器端 Blazor,但是您会看到我的问题已经解决。
【参考方案1】:
我认为你的 EditAdministrator
类不是从 ComponentBase
继承的,你的 EditAdministrator.razor
应该从 EditAdministrator.razor.cs
继承
所以示例代码如下:
EditAdministrator.razor
页面类将在顶部显示:
@inherits EditAdministratorBase
还有你的EditAdministrator.razor.cs
班级:
public class EditAdministratorBase : ComponentBase
【讨论】:
非常感谢。问题确实是由于没有从 CompoenentBase 继承。 提醒在 .NET5 中遇到此问题的任何人,您的 .razor 文件不再需要从 .razor.cs 继承,只要命名相同,但您可以需要从ComponentBase
继承,即使你不这样做代码运行良好。
这无疑为我节省了几个小时的时间 - 谢谢!以上是关于在服务器端 Blazor 项目中搭建标识时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何在 blazor webassembly 项目中对服务器端控制器中的用户进行身份验证?
无法在默认 Blazor 服务器端项目中找到 Razor 页面
如何向服务器端 Blazor 项目添加控制器(而非视图)支持