【发布时间】:2019-11-04 19:13:07
【问题描述】:
我开始学习使用 ASP Net Core 编程。在花一些时间使用 Asp Net Core Identity 时,我想实现一个自己的登录页面以用于学习目的。 不幸的是,如果您想使用包含通用参数(如 Asp Net Core Identity 的 Login.cshtml.cs)的页面模型,我现在有一些问题要了解依赖注入是如何工作的。在源代码中有两个派生自登录页面的页面模型的类:
[AllowAnonymous]
[IdentityDefaultUI(typeof(LoginModel<>))]
public abstract class LoginModel : PageModel
和
internal class LoginModel<TUser> : LoginModel where TUser : class
我读到 SignInManager 类处理 Identity 中的登录和注销过程。但因此我想我必须使用内部类。但我不明白 Asp Net Core 标识符如何使用内部类而不是抽象类,或者它可能会这样做?!
即使在剃须刀页面中也只有抽象类被用作模型:
@page
@model LoginModel
@{
ViewData["Title"] = "Log in";
}
有没有人可以向我解释我必须做些什么才能像内部 LoginModel 类一样为页面模型使用通用参数?我认为这对于其他一些情况也可能非常有用。
【问题讨论】:
标签: c# generics asp.net-core identity razor-pages