2015-04-01 4 views
0

Я разрабатываю приложение ASP.NET MVC. Модель пользователя имеет 4 свойства:Различные представления по типу пользователя

  1. Первое имя
  2. фамилия
  3. Добролюбов
  4. арабское название

И есть 4 участника, которые будут войти. В зависимости от члена входа мне нужно создать представление с помощью этих 4 столбцов.

Например, если член 1, я хочу показать только имя и фамилию.

Если член 2, мне нужно показать имя, фамилию и добу.

Я достиг этого, создав 4 разных вида и назвав их в соответствии с логином участника. Я не думаю, что это хороший способ программирования.

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

Например, таблица с идентификатором входа в систему и укажите, какие столбцы должны отображать для него, а затем просмотреть эту таблицу и отобразить значения модели. Это возможно?

+2

Я думаю, создающее дополнительное поле в вашем SQL таблица таких пользователей, как 'userTypeID' и фильтрация представлений в соответствии с типом идентификатора текущего пользователя. По-видимому, это работа на основе ролей. – Manoj

+1

Если вы делаете POC, тогда хорошо (ваши мысли находятся в правильном направлении). Но если вы разрабатываете реальное приложение, вам придется подумать о масштабируемом и управляемом решении, то есть в том случае, если необходимо добавить еще 4 типа пользователей. – SBirthare

+0

Возможный дубликат [Как создать представление с разными дисплеями в зависимости от роли, в которой пользователь находится?] (Https://stackoverflow.com/questions/409213/how-can-i-create-a-view- что-есть-разные-дисплеи, по-к-роли самой компании) –

ответ

0

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

[ReadOnlyAuthorize("A specific role")] 

выше вашего объявлении поля

Смежные вопросы