类似于 Asp.Net Core Razor Pages 中 WebForms 的 LoginView
Similar to LoginView from WebForms in Asp.Net Core Razor Pages
我一直在搜索,但找不到有关 razor 页面中登录视图的任何信息。我喜欢登录视图以及根据角色分离模板是多么容易。有没有办法在剃刀页面中做到这一点?
这是来自网络表单示例的登录视图
<asp:LoginView runat="server">
<RoleGroups>
<asp:RoleGroups Roles="Admin">
<ContentTemplate>
Welcome Admin
</ContentTemplate>
</asp:RoleGroups>
<asp:RoleGroups Roles="User">
<ContentTemplate>
Welcome User
</ContentTemplate>
</asp:RoleGroups>
</RoleGroups>
</asp:LoginView>
基本上如何根据用户的角色 html 呈现不同的
一般来说,在您看来,可以使用User.IsInRole
:
@if (User.IsInRole("Admin"))
{
@:Welcome Admin
}
@if (User.IsInRole("User"))
{
@:Welcome User
}
现在,就创建可重用视图而言,您要么使用分部视图,要么使用视图组件。对于这种特殊情况,局部视图应该就足够了。当您需要注入依赖项、执行自定义查询或其他高级逻辑时,视图组件更合适,其中 none 这里是必需的。
因此,创建一个新的 Razor 视图,如 _Login.cshtml
并将您的代码放在那里。然后,在您想要显示该内容的位置,例如在布局中:
<partial name="_Login" />
我一直在搜索,但找不到有关 razor 页面中登录视图的任何信息。我喜欢登录视图以及根据角色分离模板是多么容易。有没有办法在剃刀页面中做到这一点?
这是来自网络表单示例的登录视图
<asp:LoginView runat="server">
<RoleGroups>
<asp:RoleGroups Roles="Admin">
<ContentTemplate>
Welcome Admin
</ContentTemplate>
</asp:RoleGroups>
<asp:RoleGroups Roles="User">
<ContentTemplate>
Welcome User
</ContentTemplate>
</asp:RoleGroups>
</RoleGroups>
</asp:LoginView>
基本上如何根据用户的角色 html 呈现不同的
一般来说,在您看来,可以使用User.IsInRole
:
@if (User.IsInRole("Admin"))
{
@:Welcome Admin
}
@if (User.IsInRole("User"))
{
@:Welcome User
}
现在,就创建可重用视图而言,您要么使用分部视图,要么使用视图组件。对于这种特殊情况,局部视图应该就足够了。当您需要注入依赖项、执行自定义查询或其他高级逻辑时,视图组件更合适,其中 none 这里是必需的。
因此,创建一个新的 Razor 视图,如 _Login.cshtml
并将您的代码放在那里。然后,在您想要显示该内容的位置,例如在布局中:
<partial name="_Login" />