我正在尝试使用Blazor UI的ABP4.0,并希望覆盖用户管理的内置视图。在检查源代码时,我发现了路径为"/identity/users“的UserManagement.razor文件-这与我想要覆盖的视图相匹配。
我已经(我相信)遵循了https://docs.abp.io/en/abp/latest/UI/Blazor/Customization-Overriding-Components上列出的步骤。但是,在运行该站点时,我仍然会得到标准的内置用户列表。
Pages/Identity/UserManagement.razor (在我的wwwroot文件夹中):
@inherits Volo.Abp.Identity.Blazor.Pages.Identity.UserManagement
<h2>This is not the standard page</h2>Pages/Identity/UserManagement.razor.cs
using Volo.Abp.DependencyInjection;
namespace BlazorDemo.Blazor.Pages.Identity
{
[ExposeServices(typeof(UserManagement))]
[Dependency(ReplaceServices = true)]
public partial class UserManagement
{
}
}我是不是漏掉了什么?
发布于 2020-12-14 22:28:58
对您自己的组件使用不同的名称,如MyUserManagement.razor。否则,组合器不能区分类别。例如,
using Volo.Abp.DependencyInjection;
namespace BlazorDemo.Blazor.Pages.Identity
{
[ExposeServices(typeof(UserManagement))] //MUST BE Volo.Abp.Identity.Blazor.Pages.Identity.UserManagement
[Dependency(ReplaceServices = true)]
public partial class UserManagement
{
}
}在这里,ExposeServices公开自己(您的类),而不是Volo.Abp.Identity.Blazor.Pages.Identity.UserManagement。如果您将组件重命名为MyUserManagement,那么您就不会犯这样的错误:)
https://stackoverflow.com/questions/65277752
复制相似问题