Вложенные элементы span, где parent находится на стороне сервера - PullRequest
0 голосов
/ 06 июня 2019

В ASP.Net (4.5.2) у меня есть вложенные элементы <span>, где родительский элемент установлен как элемент управления на стороне сервера ...

<p>
  This is the start of the text
  <span runat="server" visible="<%#someCode%>">
    This is some more Text
    <span class="myClass">with some other text inside</span>
    And a bit more after
  </span>
</p>

(обратите внимание, это содержится в <asp:Repeater>)

Похоже, что ASP.Net не справляется с этим и, похоже, предполагает, что внутренний </span> является закрытием для внешнего элемента. Это означает, что когда visible="false" будет отображаться так ...

<p>
  This is the start of the text
    And a bit more after
  </span>
</p>

Я не могу преобразовать <span> в <div> или <section>, поскольку он должен находиться внутри элемента <p> (то есть дочерние элементы не могут быть блоками).

Есть ли способ обойти эту проблему?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

ОК (слишком много комментариев).

В качестве альтернативы используйте Label:

<p>
    This is the start of the text
    <asp:Label ID="Label1" runat="server" Visible="false" Text="This is some more Text">
        <span class="myClass">with some other text inside</span>
        And a bit more after
    </asp:Label>                    
</p>

или даже:

<p>
    This is the start of the text
    <asp:Label ID="Label1" runat="server" Visible="true" Text="This is some more Text<span class='myClass'>with some other text inside</span>And a bit more after">                
    </asp:Label>                    
</p>
0 голосов
/ 06 июня 2019

Оказывается, ответ довольно прост ... сделать внутренний <span> также серверным элементом управления ...

<p>
  This is the start of the text
  <span runat="server" visible="<%#someCode%>">
    This is some more Text
    <span runat="server" class="myClass">with some other text inside</span>
    And a bit more after
  </span>
</p>

Что приводит к ...

<p>
  This is the start of the text
</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...