Устанавливать значение для свойства «visible» на странице ASPX программно

Я пытаюсь установить свойство visible для метки как true, так и false в зависимости от условия. Это на странице ASPX. Я делаю что-то неправильно и получаю ошибку, когда это выполняется.

<td>
</td>

Ошибка, которую я получаю, ниже.

Compiler Error Message: CS0019: Operator '>' cannot be applied to operands of type 'object' and 'int'

Какие изменения необходимо сделать?

Все, что мне нужно, чтобы установить видимое свойство LABEL в true, когда «IsAuthorized» больше нуля.

3

5 ответы

Это потому, что у вас синтаксическая ошибка, вы глупый кролик.

Вот вы, это должно быть так:

 <td></td>

You had an extra > and a 0 in there somewhere. Also, since you aren't doing anything between the and , you can close it with an end slash and skip a separate ending tag. Like this

ТАКЖЕ, иногда попытка установить видимое свойство вызывает проблемы, программа может жаловаться, что значение не было логическим. Возможно, вы захотите также добавить явное преобразование следующим образом:

 Visible='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "IsAuthorized")) %>' 
10
добавлено
Это прекрасный ответ! От глупого кролика до исправленной строки кода, объяснения исправления, а затем в конце «вы тоже можете захотеть». Это идеальная формула для ответа - 1) ответ, 2) объяснить, 3) улучшить.
добавлено автор CindyH, источник

Предполагая, что IsAuthorized является битовым типом, просто добавьте его в логическое:

 Visible='<%#Convert.ToBoolean(Eval("IsAuthorized"))%>'  
4
добавлено
Большое спасибо. Это отлично работало для GridView с источником XML. Ключ, конечно, заключался в замене вызова Bind() вызовом Eval() .
добавлено автор Greg, источник
И помните, что это не может быть NULL. :)
добавлено автор marquito, источник

Обратите внимание на элемент управления на стороне сервера, который вы можете сделать:


Но это не сработает, если вы не вызовете DataBind в коде позади, например в Page_Load:

myId.DataBind():
2
добавлено

Предполагая, что IsAuthorized является целым числом, вы должны использовать это:

Visible='<%# ((int)DataBinder.Eval(Container.DataItem, "IsAuthorized")) > 0 %>'

Eval возвращает объект , поэтому сначала нужно передать его в integer .

1
добавлено
Кажется, что с «> 0», включенным OP, это правильный ответ.
добавлено автор Mike Godin, источник
<td></td>
0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)