Выведенный код не является допустимым синтаксисом для тегов сервера в среде выполнения ASP.NET 2.0 или ASP.NET 4.0. В любой из версий попытка установить видимое свойство с помощью <%= ... %>
в теге сервера должна привести к ошибке парсера:
Сообщение об ошибке Parser: невозможно создать объект типа «System.Boolean» из его строкового представления «<% = MyVisiblePropertyOnCodeBehind%>» для свойства «Видимый».
У вас есть два варианта, кроме как установить свойство Visible
в коде или
. Первое - использовать привязку данных к свойству Visible
. Вам нужно будет вызвать метод DataBind()
либо MyId
либо один из его родительских элементов управления для связанного значения.
Content
Другой вариант - написать код следующим образом:
<% if(MyVisiblePropertyOnCodeBehind) { %> Content
<% } %>
Недостатком такого подхода является то, что вы не сможете программно добавлять элементы управления на страницу или элемент управления, содержащий блоки кода. Если вы попытаетесь, вы должны получить сообщение об ошибке:
Коллекция Controls не может быть изменена, поскольку элемент управления содержит блоки кода (т.е. <% ...%>)
Все, что было сказано, я думаю, что просто установить свойство так, как вы это делаете, теперь это путь.