Доступ к объекту Session из Razor _Layout.cshml - PullRequest
24 голосов
/ 07 декабря 2010

Создание приложения MVC 3 с Razor, и у меня есть некоторая информация, сохраненная в области действия Session, которая будет использоваться в файле _Layout.

Я понятия не имею, каков наилучший способ реализовать это.Часть этой информации используется для определения того, что отображается в заголовке.

У меня есть объект CurrentUser, хранящийся в области действия сеанса

Ответы [ 2 ]

54 голосов
/ 08 декабря 2010

Вы можете просто получить доступ к HttpContext в файле макета

@HttpContext.Current.Session["Whatever"].ToString()

или, если вы хотите получить доступ к объекту пользователя, вы можете просто создать объект на странице и назначить его

@{ CurrentUser user = (CurrentUser)HttpContext.Current.Session["CurrentUser"]; }

Потом в вашем коде ...

@user.Name
3 голосов
/ 18 апреля 2013

Более простой способ сделать это - использовать свойство Session непосредственно из представления (префикс HttpContext.Current. вообще не требуется):

@(CurrentUser)Session["CurrentUser"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...