Ошибка User.IsInRole - PullRequest
       2

Ошибка User.IsInRole

2 голосов
/ 20 августа 2011

У меня есть этот код внутри Page_Load из Site.Master.cs.

if(User.IsInRole("Read"))
{
   NavigationMenu.Visible = false;
}

и я получаю эту ошибку:

Ссылка на объект требуется для нестатического поля, метода или имущество «Microsoft.VisualBasic.ApplicationServices.User.IsInRole (строка).

Есть какие-нибудь подсказки?

Ответы [ 3 ]

7 голосов
/ 20 августа 2011

Вы можете получить текущий HttpContext пользователь и подтвердить для данной роли, используя метод IsInRole , как показано ниже.

HttpContext.Current.User.IsInRole("Read")

Измените свой метод на

if(HttpContext.User.IsInRole("Read"))
{
   NavigationMenu.Visible = false;
}
2 голосов
/ 20 августа 2011

Похоже, вы используете класс вместо экземпляра этого класса try:

User user = new User();
user.IsInRole("Read");
1 голос
/ 22 августа 2011

Я не полностью согласен с ответом. Вы получаете экземпляр User из свойства Page на главной странице, поэтому вам следует использовать:

var user = Page.User;
user.IsInRole("your role");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...