В моей Global.asax, у меня есть этот код в session_start():Получить существующий сеанс в моем BaseController конструктор
UserIntranet user = new UserIntranet();
user.Login = this.Request.LogonUserIdentity.Name.Split('\\')[1];
Session["user"] = user as UserIntranet;
В моей BaseController, у меня есть это свойство:
public UserIntranet UserIntranet
{
get
{
return Session["user"] as UserIntranet;
}
}
Он работает во всех контроллерах шахт, которые используют этот базовый контроллер, но не в моем основном конструкторе BaseController.
Эта сессия Null ...
Have попробовать это в моем BaseController:
public BaseController()
{
ViewBag.UserMenu = this.UserIntranet.Login;/* Null */
}
Почему? Как я могу получить логин пользователя непосредственно в моем BaseController? Каков лучший способ?
Что это значит? Переопределить метод? Но как я могу получить эту существующую сессию? Можете ли вы привести мне пример? – Portekoi
Несомненно, я обновил свой ответ на примере. Не пытайтесь использовать сеанс в конструкторе контроллера, вы должны переопределить метод «Initialize», и вы можете использовать сеанс там. –
Ты мой герой :) Большое спасибо! – Portekoi