我正在使用Blazor UI试用ABP 4.0,并希望覆盖用户管理的内置视图。检查源代码时,我发现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
{
}
}
我错过什么了吗?
为自己的组件使用不同的名称,如MyUserManagement.razor
。否则,compiler无法区分类。例如,
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
,则不会犯以下错误:(