类似于Asp.Net核心页面中WebForms的LoginView

类似于Asp.Net核心页面中WebForms的LoginView,asp.net,webforms,razor-pages,asp.net-core-2.2,loginview,Asp.net,Webforms,Razor Pages,Asp.net Core 2.2,Loginview,我一直在搜索,但在razor页面中找不到任何关于登录视图的信息。我喜欢登录视图和基于角色分离模板的简单程度。有没有办法在剃须刀页面中做到这一点 下面是来自webforms示例的LoginView <asp:LoginView runat="server"> <RoleGroups> <asp:RoleGroups Roles="Admin"> <ContentTemplate>

我一直在搜索,但在razor页面中找不到任何关于登录视图的信息。我喜欢登录视图和基于角色分离模板的简单程度。有没有办法在剃须刀页面中做到这一点

下面是来自webforms示例的LoginView

<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
}
现在,在创建可重用视图方面,您可以使用局部视图或视图组件。对于这个特定场景,局部视图应该足够了。当您需要注入依赖项、执行自定义查询或其他高级逻辑时,视图组件更合适,这里不需要这些

因此,创建一个新的Razor视图,如
\u Login.cshtml
,并将代码放在那里。然后,在要显示该内容的位置,例如在布局中:

<partial name="_Login" />

通常,在视图中,您可以使用
User.IsInRole

@if (User.IsInRole("Admin"))
{
    @:Welcome Admin
}

@if (User.IsInRole("User"))
{
    @:Welcome User
}
现在,在创建可重用视图方面,您可以使用局部视图或视图组件。对于这个特定场景,局部视图应该足够了。当您需要注入依赖项、执行自定义查询或其他高级逻辑时,视图组件更合适,这里不需要这些

因此,创建一个新的Razor视图,如
\u Login.cshtml
,并将代码放在那里。然后,在要显示该内容的位置,例如在布局中:

<partial name="_Login" />


您的问题非常不清楚。请修改并详细说明您想要的内容。如果您能找到,请提供实际示例。另外,请检查并相应地组织您的问题。已编辑的主要帖子您的问题非常不清楚。请修改并详细说明您想要的内容。如果您能找到,请提供实际示例。另外,请检查并相应地组织您的问题。已经编辑了主要的PostInterest,我仍然非常不熟悉使用razor的MVVM或MVC方式,因为我来自web表单。与LoginView相比,它看起来非常简单和有效,在LoginView中,如果不编写一堆代码就无法访问控件内部的控件。有趣的是,我对使用razor实现这一点的MVVM或MVC方法仍然非常陌生,因为我来自web表单。与LoginView相比,它看起来非常简单和有效,在LoginView中,如果不编写一堆代码,就无法访问其中的控件