Blazor 根据角色呈现特定内容
Blazor render specific content based on roles
我有一个 table 循环遍历我的行项目模型。我想向角色中的用户显示删除按钮:Admin
。我如何在 Blazor 中执行此操作?
我试过了
<AuthorizeView Roles="Admin">
<MudButton> ADMIN ONLY BUTTON</MudButton>
</AuthorizeView>
现在,除了 AuthorizeView
改变了我的上下文之外,这一切似乎都运行良好。所以我现在失去了对我正在处理的模型的引用,所以现在我想添加一个 OnClick
侦听器以重定向到 device/delete/{@contenxt.DeviceId}
并且 VS 现在抱怨说上下文没有对 DeviceId
重命名其中一个上下文以避免冲突:
<AuthorizedView Roles="Admin" Context="SomeOtherName" >
<MudButton> ADMIN ONLY BUTTON</MudButton>
</AuthorizedView>
这个答案是假设 - AuthorizedView
是一种类型,你的意思是 AuthorizeView
而不是一些自定义的 AuthorizedView
组件。
AuthorizeView
将其内容的上下文设置为当前 AuthenticationState
。因此 {@contenxt.DeviceId}
不起作用 - AuthenticationState
上没有 DeviceId
。
因为你没有为你的问题展示太多“背景” - 对双关语表示歉意! - 我假设您正在遍历列表并为每条记录显示一个编辑按钮。如果是这样,您可以在 AuthorizeView
之外为您的上下文设置一个本地循环变量,然后在您的按钮调用中引用它。
类似于:
@{
var device = context;
}
<AuthorizedView Roles="Admin">
<MudButton @onclick="() => GotToEdit(device.DeviceId)"> ADMIN ONLY BUTTON</MudButton>
</AuthorizedView>
我有一个 table 循环遍历我的行项目模型。我想向角色中的用户显示删除按钮:Admin
。我如何在 Blazor 中执行此操作?
我试过了
<AuthorizeView Roles="Admin">
<MudButton> ADMIN ONLY BUTTON</MudButton>
</AuthorizeView>
现在,除了 AuthorizeView
改变了我的上下文之外,这一切似乎都运行良好。所以我现在失去了对我正在处理的模型的引用,所以现在我想添加一个 OnClick
侦听器以重定向到 device/delete/{@contenxt.DeviceId}
并且 VS 现在抱怨说上下文没有对 DeviceId
重命名其中一个上下文以避免冲突:
<AuthorizedView Roles="Admin" Context="SomeOtherName" >
<MudButton> ADMIN ONLY BUTTON</MudButton>
</AuthorizedView>
这个答案是假设 - AuthorizedView
是一种类型,你的意思是 AuthorizeView
而不是一些自定义的 AuthorizedView
组件。
AuthorizeView
将其内容的上下文设置为当前 AuthenticationState
。因此 {@contenxt.DeviceId}
不起作用 - AuthenticationState
上没有 DeviceId
。
因为你没有为你的问题展示太多“背景” - 对双关语表示歉意! - 我假设您正在遍历列表并为每条记录显示一个编辑按钮。如果是这样,您可以在 AuthorizeView
之外为您的上下文设置一个本地循环变量,然后在您的按钮调用中引用它。
类似于:
@{
var device = context;
}
<AuthorizedView Roles="Admin">
<MudButton @onclick="() => GotToEdit(device.DeviceId)"> ADMIN ONLY BUTTON</MudButton>
</AuthorizedView>