在我的ASP.NET Core 2项目中,我创建了继承RazorPage类的新类,以便在视图中添加一些其他属性。
public abstract class WebViewPage<TModel> : Microsoft.AspNetCore.Mvc.Razor.RazorPage<TModel>
{
public string Version
{
get
{
return "1.00.100";
}
}
public User CurrentUser
{
get
{
//challenge is here:
//return _services.GetRequiredService<IUserService>().GetCurrentUser();
}
}
}
public abstract class WebViewPage : WebViewPage<dynamic>
{
}
Run Code Online (Sandbox Code Playgroud)
并将_ViewImport.cshtml文件更改为此:
@inherits MyProject.WebViewPage<TModel>
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Run Code Online (Sandbox Code Playgroud)
在挑战代码标记为注释之前,该项目可以正常工作。但是,如何将依赖项注入抽象类呢?或如何解析抽象类中的服务?
这是我的StartUp.cs文件:
@inherits MyProject.WebViewPage<TModel>
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Run Code Online (Sandbox Code Playgroud)