У меня есть один div следующего вида:
<div> <% # IIF(DataBinder.Eval (Container.DataItem,"Specifiction2").ToString()<> "","") <div>
Я хочу скрыть указанный выше div, когда "spcefication2" пусто на странице .aspx.
Как это сделать ?
Пара вещей.
Вы используете IIF, но никогда не следует использовать IIF. Вместо этого всегда используйте IF. Единственная причина для использования IIF - это то, что вы застряли с компилятором до 2008 года, и даже в этом случае вам следует использовать что-то еще.
Самый простой способ сделать то, что вы описываете, - использовать id и runat = "server", вы можете либо установить свойство visible (что будет означать, что div никогда не будет генерироваться), либо установить стиль для отображения: none
Если вы хотите сделать это встроенным, в вашем примере код:
<div style="display: <%# IF(string.isnullorwhitespace(DataBinder.Eval(Container.DataItem,"Specifiction2").ToString), "none", "block") %>"> </div>
Вы используете Eval и container.dataitem, вам следует изучить использование ItemType для вашей сетки / повторов, затем ссылка на значение как на элемент. Спецификация
Вышеупомянутое было бы намного проще, если бы вы объявили функцию в своем коде позади, взяв строку и вернув строку none / block.