Member 13949827 Ответов: 1

Я пытаюсь ограничить выпадающий список типом пользователя, но синтаксическая ошибка


Привет,

Я стараюсь сделать ограничение для разных типов пользователей. Что касается имя superadmin можно получить доступ ко всем выпадающим спискам, например тренер только можно получить доступ к определенному выпадающему списку и для пользователь тоже. Но к сожалению мой код возвращается синтаксическая ошибка Пожалуйста, помогите мне решить эту проблему.

Что я уже пробовал:

код ASP:
&ЛТ;как ASP:dropdownlist с ИД="deptDropDownList" атрибут runat="сервер" AppendDataBoundItems="истинный" autopostback элемента управления="истинный"
DataValueField="deptName" Height="22px" Width="132px">
<asp:ListItem Value="">-- выберите опцию --
<asp:ListItem Value="Training">учебный модуль
&ЛТ;как ASP:listitem элемент значение="производственная модуля"&ГТ;модуль МФГ
&ЛТ;как ASP:listitem элемент значение="самостоятельного изучения"&ГТ;обучение сотрудников запись
<asp:ListItem Value="Others">Others
<asp:ListItem Value="InterviewTrackingSystem">система отслеживания интервью
<asp:ListItem Value="ListOfEmployee">Список сотрудников


За Кодом :

Если (читателя("emp_type").ToString() = "superadmin" и reader("trainer_AccessModule").Метод toString()) Затем
(deptDropDownList.SelectedValue = "обучение".Видно) = "Истина"
(deptDropDownList.SelectedValue = "модуль MFG".Видно) = "Истина"
(deptDropDownList.SelectedValue = "Самостоятельного Изучения".Видно) = "Истина"
(deptDropDownList.SelectedValue = "Другие".Видно) = "Истина"
(deptDropDownList.SelectedValue = "InterviewTrackingSystem".Visible) = "True"
(deptDropDownList.SelectedValue = "ListOfEmployee".Видно) = "Истина"

И так далее

F-ES Sitecore

(deptDropDownList.SelectedValue = "обучение".Видно) = "Истина"

В этом нет никакого смысла, что ты пытаешься сделать? "Training" - это строка, она не имеет свойства "Visible", и если бы вы установили SelectedValue на что-то, результат этого также не был бы "True", поскольку это другая строка.

Member 13949827

F-ES Sitecore спасибо Вам за ваш ответ. Не могли бы вы подсказать мне, как это исправить? Есть ли какой-нибудь способ?

F-ES Sitecore

Вам придется объяснить, что вы пытаетесь сделать.

Member 13949827

Я стараюсь сделать ограничение для каждого выпадающего списка. Например, выпадающий список для value = "Training", доступ к которому могут получить все пользователи. Но для dropdownlist value = "список сотрудников" доступ может получить только суперадмин. Он будет серым для тренера и пользователя.

1 Ответов

Рейтинг:
12

Vincent Maverick Durano

Я не совсем понимаю, чего вы добиваетесь. Ваше описание все еще сбивает с толку. Однако, если вы хотите видеть только определенные элементы в вашем DropDownList основываясь на некоторых ролях пользователей, вы можете сделать что-то вроде этого:

Во-первых, вы должны очистить статические элементы из выпадающего списка в вашей HTML-разметке (.aspx), например:

<asp:DropDownList ID="deptDropDownList" runat="server" AppendDataBoundItems="False" AutoPostBack="True" /> 



С#
var role = reader["emp_type"].ToString().ToLower();

deptDropDownList.Items.Clear();
if(role.Equals("superadmin")){
      	deptDropDownList.Items.Add(new ListItem("Training", "Training"));
	deptDropDownList.Items.Add(new ListItem("MFGModule", "MFG Module"));
	deptDropDownList.Items.Add(new ListItem("SelfLearning", "Self Learning"));
	deptDropDownList.Items.Add(new ListItem("InterviewTrackingSystem", "Interview Tracking System"));
	deptDropDownList.Items.Add(new ListItem("Others", "Others"));
	deptDropDownList.Items.Add(new ListItem("ListOfEmployee", "List Of Employee"));
}
else if (role.Equals("trainer")){
	deptDropDownList.Items.Add(new ListItem("Training", "Training"));
}
else if (role.Equals("whatever")){
     //add appropriate items to your DropDownList
}


ГЛ.
Dim role As var = reader("emp_type").ToString.ToLower
deptDropDownList.Items.Clear
If role.Equals("superadmin") Then
    deptDropDownList.Items.Add(New ListItem("Training", "Training"))
    deptDropDownList.Items.Add(New ListItem("MFGModule", "MFG Module"))
    deptDropDownList.Items.Add(New ListItem("SelfLearning", "Self Learning"))
    deptDropDownList.Items.Add(New ListItem("InterviewTrackingSystem", "Interview Tracking System"))
    deptDropDownList.Items.Add(New ListItem("Others", "Others"))
    deptDropDownList.Items.Add(New ListItem("ListOfEmployee", "List Of Employee"))
ElseIf role.Equals("trainer") Then
    deptDropDownList.Items.Add(New ListItem("Training", "Training"))
ElseIf role.Equals("whatever") Then
    'add appropriate items to your DropDownList
End If


PS: Я не парень из VB и просто использовал конверт для перевода C# в it's VB.NET эквивалент


Member 13949827

Спасибо, Винсент Мэверик. Код работает!!

Vincent Maverick Durano

Приношу свои извинения за поздний ответ. Я только что вернулся из отпуска. Я рад быть полезным.