如何在 MVC 视图中检索 AbpSession
how retrieve AbpSession in a MVC view
有人知道如何在 mvc 视图中检索 ApbSession 吗??
我已经尝试使用会话,或访问注入了会话的控制器,但是无法让 currentSession 获取 userId 和其他属性。
Asp.net 会话无效,因为 ApbSession 不能使用它。
谢谢指教。
我建议您在控制器中获取所需的值,然后通过视图模型传递给视图。但是,如果您需要访问 AbpSession,您可以使用不同的方法,具体取决于您使用的 ASP.NET 版本。
对于ASP.NET核心,在razor视图中使用@inject IAbpSession AbpSession
,直接使用
对于 ASP.NET MVC 5.x,在您的视图库中使用 属性 注入(YourProjectNameWebViewPageBase 就像这样:https://github.com/aspnetboilerplate/module-zero-template/blob/master/src/AbpCompanyName.AbpProjectName.WebMpa/Views/AbpProjectNameWebViewPageBase.cs)。或者,您可以在任何需要的地方使用 IocManager.Instance.Resolve<IAbpSession>()...
。
根据上面的建议,这里是在class中添加的代码 [YourApplication]WebViewPageBase<TModel>
:
public abstract class YourAppWebViewPageBase<TModel> : AbpWebViewPage<TModel>
{
// Gp
public IAbpSession AppSession { get; private set; }
protected YourAppWebViewPageBase()
{
LocalizationSourceName = YourAppConsts.LocalizationSourceName;
// Gp - added the AbpSession in the view
AppSession = Abp.Dependency.SingletonDependency<IAbpSession>.Instance;
}
}
有人知道如何在 mvc 视图中检索 ApbSession 吗??
我已经尝试使用会话,或访问注入了会话的控制器,但是无法让 currentSession 获取 userId 和其他属性。
Asp.net 会话无效,因为 ApbSession 不能使用它。
谢谢指教。
我建议您在控制器中获取所需的值,然后通过视图模型传递给视图。但是,如果您需要访问 AbpSession,您可以使用不同的方法,具体取决于您使用的 ASP.NET 版本。
对于ASP.NET核心,在razor视图中使用@inject IAbpSession AbpSession
,直接使用
对于 ASP.NET MVC 5.x,在您的视图库中使用 属性 注入(YourProjectNameWebViewPageBase 就像这样:https://github.com/aspnetboilerplate/module-zero-template/blob/master/src/AbpCompanyName.AbpProjectName.WebMpa/Views/AbpProjectNameWebViewPageBase.cs)。或者,您可以在任何需要的地方使用 IocManager.Instance.Resolve<IAbpSession>()...
。
根据上面[YourApplication]WebViewPageBase<TModel>
:
public abstract class YourAppWebViewPageBase<TModel> : AbpWebViewPage<TModel>
{
// Gp
public IAbpSession AppSession { get; private set; }
protected YourAppWebViewPageBase()
{
LocalizationSourceName = YourAppConsts.LocalizationSourceName;
// Gp - added the AbpSession in the view
AppSession = Abp.Dependency.SingletonDependency<IAbpSession>.Instance;
}
}