Возможно, использование инструкции отсутствует?
Попробуйте следующий код:
@using Orchard.ContentManagement
@{
var roles = WorkContext.CurrentUser.As<Orchard.Roles.Models.UserRolesPart>().Roles;
}
редактировать 1
Похоже, что пользователь не прошел проверку подлинности. Строка кода, размещенных выше создает следующие вызовы:
Orchard.Environment.WorkContextImplementation.GetState("CurrentUser")
Orchard.Environment.WorkContextImplementation.FindResolverForState("CurrentUser")
- перечисляя через список
IWorkContextStateProvider
, в этом списке должны быть следующие реализации: Orchard.Security.CurrentUserWorkContext
Orchard.Security.CurrentUserWorkContext.Get("CurrentUser")
IAuthenticationService.GetAuthenticatedUser()
->, который возвращает пользователя при его завершении
Итак, кажется, что любой из этих шагов возвращается без пользователя. Я предлагаю вам создать точку останова в Orchard.Environment.WorkContextImplementation.GetState()
, чтобы узнать, где проблема.
Используется заявление. Я пробовал код безрезультатно. Это сработало для вас? – matthewjamesr
Имеет ли значение, что представление находится в теме? – matthewjamesr
@matthewjamesr Я думаю, что это проблема аутентификации, см. ** edit 1 ** – ViRuSTriNiTy