我正在尝试生成一个通用的BaseViewPage,在asp.net Core中访问当前用户的身份信息。
为此,我创建了一个BaseViewPage.cs文件 -
每当我尝试在我的视图中使用任何属性 -
为此,我创建了一个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 没有提供与“BaseViewPage.BaseViewPage(IPrincipal)”的所需形式参数'_principal'对应的参数 MyStore D:\ Projects \ TWCStore \ TWCStore \ Views \ Store \ ProductCategories.cshtml 1 Active
IPrincipal
作为依赖项。 @inherits MyStore.Helpers.BaseViewPage<TModel>
我怎样在这里注入这个依赖?