Как я могу скрыть <div>на странице HTML в ASP. NET? - PullRequest
0 голосов
/ 20 июня 2020

У меня есть один div следующего вида:

<div>
  <% # IIF(DataBinder.Eval (Container.DataItem,"Specifiction2").ToString()<> "","")
<div>

Я хочу скрыть указанный выше div, когда "spcefication2" пусто на странице .aspx.

Как это сделать ?

1 Ответ

0 голосов
/ 20 июня 2020

Пара вещей.

  1. Вы используете IIF, но никогда не следует использовать IIF. Вместо этого всегда используйте IF. Единственная причина для использования IIF - это то, что вы застряли с компилятором до 2008 года, и даже в этом случае вам следует использовать что-то еще.

  2. Самый простой способ сделать то, что вы описываете, - использовать id и runat = "server", вы можете либо установить свойство visible (что будет означать, что div никогда не будет генерироваться), либо установить стиль для отображения: none

  3. Если вы хотите сделать это встроенным, в вашем примере код:

        <div style="display:
            <%#    IF(string.isnullorwhitespace(DataBinder.Eval(Container.DataItem,"Specifiction2").ToString), "none", "block") %>">
        </div>
    
  4. Вы используете Eval и container.dataitem, вам следует изучить использование ItemType для вашей сетки / повторов, затем ссылка на значение как на элемент. Спецификация

  5. Вышеупомянутое было бы намного проще, если бы вы объявили функцию в своем коде позади, взяв строку и вернув строку none / block.

...