как скрыть или отобразить кнопку на главной странице - PullRequest
0 голосов
/ 13 июля 2011

Я занимаюсь разработкой веб-приложения, в котором я проверяю пользователей по набору пользователей в таблице sql db. У меня есть главная страница и несколько других страниц. Так что, когда пользователь «А» входит в приложение, мое приложение запрашивает в таблицу sql аутентифицирует пользователя.

Мой вопрос заключается в том, что у меня есть столбец под названием роль в моей таблице sql. Поэтому, когда пользователь проходит проверку подлинности на основе роли, которую я хочу отображать или не отображать элемент управления кнопки на моей домашней странице. Вся моя логика заключается в коде позади страницы входа.

Кто-нибудь может мне помочь?

Ответы [ 3 ]

1 голос
/ 13 июля 2011

Вы пробовали?

MyButton.Visible = HttpContext.Current.User.IsInRole("...");
1 голос
/ 13 июля 2011

Вы должны использовать свойство .Visible элемента управления кнопки. Установите его равным true, если они должны иметь к нему доступ, либо установите его равным false.

0 голосов
/ 13 июля 2011

Решение Cinek - это то, что вам следует использовать; Тем не менее, он требует от вас установить соответствующие роли в контексте. Это определенно стоит усилий, так как вы можете / должны хранить там информацию о пользователе.

Если у вас нет возможности переделать архитектуру этого, вы можете скрыть кнопку с помощью события itemdatabrid таблицы данных.

  void Item_Bound(Object sender, DataGridItemEventArgs e) 
  {

     if((e.Item.ItemType == ListItemType.Item) || 
         (e.Item.ItemType == ListItemType.AlternatingItem))
     {

        Integer intButtonColumn = ###
        Button btn = e.Item.Cells[intButtonColumn].FindControls[0];
        btn.Visible = IsUserInRole();       
     }         

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...