2014-03-26 2 views
0

Таким образом, я показываю видимость в зависимости от идентификатора состояния. У меня есть два сценария для проверки, если срок действия программы истек, или если программа недоступна. Я получил его для работы, чтобы показать, что срок действия программы истек, однако у меня возникла проблема с OR. Я должен проверить идентификатор состояния с идентификатором состояния! = Истекает ИЛИ Недоступно. Мой код истек следующимПопытка использовать логический или оператор в Eval

Visible='<%# Convert.ToInt32(Eval("Status_Id").ToString()) !=(int) Testing.dal.Enums.ProgramStatus.EXPIRED %>'> 

У меня есть что-то вроде Testing.dal.Enums.ProgramStatus.Unavailable, что мне нужно, чтобы проверить, как хорошо.

+2

Действительно, вы должны делать эту логику в коде позади, а не в разметке. Разметка должна просто связывать уже вычисленное логическое значение. Вы смешиваете свой пользовательский интерфейс и свою бизнес-логику. Кроме того, контекст привязки данных не дает вам как эффективного инструмента, так и кода для выполнения этой операции легко и эффективно. – Servy

ответ

1

Думаю, вам действительно нужна конъюнкция (AND).

Visible='<%# Convert.ToInt32(Eval("Status_Id").ToString()) 
      !=(int) Testing.dal.Enums.ProgramStatus.EXPIRED 
      && 
      Convert.ToInt32(Eval("Status_Id").ToString()) 
      !=(int) Testing.dal.Enums.ProgramStatus.Unavailable %>'> 
Смежные вопросы