有人知道如何在 mvc 视图中检索 ApbSession 吗?
我已经尝试过使用会话,或者访问注入了会话的控制器,但是没有办法让 currentSession 来获取 userId 和其他属性。
Asp.net 会话无效,因为 ApbSession 不能使用它。
谢谢指教。
有人知道如何在 mvc 视图中检索 ApbSession 吗?
我已经尝试过使用会话,或者访问注入了会话的控制器,但是没有办法让 currentSession 来获取 userId 和其他属性。
Asp.net 会话无效,因为 ApbSession 不能使用它。
谢谢指教。
我建议您在控制器中获取所需的值,然后通过 viewmodel 传递给视图。但是,如果您需要访问 AbpSession,您有不同的方法,具体取决于您使用的 ASP.NET 版本。
对于 ASP.NET Core,@inject IAbpSession AbpSession
在 razor 视图中使用并直接使用它。
对于 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>()...
在任何需要的地方使用。
按照上面hikalkan的建议,这里是在类中添加它的代码[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;
}
}