我想为项目添加一个Admin模板、一个用户模板和一个主站点模板!我找了很多,但没有找到合适的训练!!!
对于主模板,我使用项目默认值并替换代码,但要添加其他两个模板,我如何创建单独的布局并将链接的js和css文件添加到项目中?
1-Blazor AppServer有这个功能吗?还是应该使用Blazor Web Assembly?
2-如果你知道这个主题的教程,请介绍给所有朋友使用?
3-当我创建图层时,我不知道如何将模板代码用于项目!!
启动配置:
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
endpoints.MapFallbackToPage("~/AdminPanel/{*clientroutes:nonfile}", "/_AdminLayout");
});
您可以在_Host.cshtml
中有条件地执行此操作,根据身份验证数据为不同的受众加载不同的组件。另一种方法是像你自己一样在program.cs中写一个条件,但在if块中。例如,对于两种不同的环境,您可以执行以下操作:
if (env.IsDevelopment()) {
endpoints.MapFallbackToPage("/_Host");
} else {
endpoints.MapFallbackToPage("/_HostForAdmin");
}
要根据用户信息进行操作,您可以将其检查为:
app.Use( async (ctx,next)=>
{
if (ctx.User.IsInRole("admin")) {
app.MapFallbackToPage("/_Host");
} else
{
}
await next(ctx);
});