我正在尝试在 asp.net Core 中生成通用 BaseViewPage 来访问当前用户的身份。
为此,我创建了一个 BaseViewPage.cs 文件 -
public abstract class BaseViewPage<TModel> : RazorPage<TModel>
{
private static ClaimsPrincipal principal;
public BaseViewPage(IPrincipal _principal)
{
principal = _principal as ClaimsPrincipal;
}
}
正如你在构造函数中看到的,我注入了一个依赖项IPrincipal
类型,以便在运行时定义它。
现在是时候在 _viewimports.cshtml 文件中继承它,以便在所有视图页面中使用当前用户,如下所示 -
@using TWCStore
@inherits MyStore.Helpers.BaseViewPage<TModel>
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
每当我尝试使用我认为的任何财产时 -ProductCategories.cshtml
错误在这里调用
严重性代码 说明 项目文件行抑制状态
错误 CS7036 没有给出与对应的参数
所需的形式参数 '_principal' of
'BaseViewPage.BaseViewPage(IPrincipal)' MyStore D:\Projects\TWCStore\TWCStore\Views\Store\ProductCategories.cshtml 1 活动
我假设当我注入依赖项时它希望我将IPrincipal
这里也作为依赖关系 -
@inherits MyStore.Helpers.BaseViewPage<TModel>
我如何在这里注入这个依赖项?