Как избежать ошибки проверки w3c «вложенной таблицы в span» на странице aspx vb.net? - PullRequest
1 голос
/ 05 марта 2010

Я пытаюсь сделать мой сайт полностью совместимым с валидатором w3c.

В настоящий момент я получаю сообщение об ошибке, поскольку таблица, которая создается программно и вставляется в текстовый атрибут метки, отображается в виде таблицы, вложенной в тег span.

* 1005 например *

MyPage.aspx.vb

strHtml = "<table><tr><td>Hello World</td></tr></table>" 
Me.myTable.Text = strHtml

MyPage.aspx

<asp:Label ID="myTable" runat="server" Text="testimonialTable"></asp:Label> 

Отображается как:

<span id="ctl00_Main_myTable">
<table><tr><td>Hello World</td></tr></table>
</span>

Когда я проверяю свою страницу на validator.w3.org, я получаю следующую ошибку:

тип документа не допускает здесь элемент "таблица"; отсутствует один из следующих объектов: «объект», «апплет», «карта», «iframe», «кнопка», «ins», «del»

Упомянутый элемент не может появляться в контексте, в котором вы его поместили; другие упомянутые элементы являются единственными, которые разрешены там и могут содержать упомянутый элемент. Это может означать, что вам нужен содержащий элемент или, возможно, вы забыли закрыть предыдущий элемент.

Я предполагаю, что это потому, что я пытаюсь поместить элемент блока (таблицу) внутри встроенного элемента (span) - но я не знаю, как еще это сделать!

Кто-нибудь имел представление об обходном пути?

Спасибо

Ben

Ответы [ 3 ]

1 голос
/ 05 марта 2010

Используйте Literal вместо Label, чтобы избежать переноса элемента <span>:

<asp:Literal ID="myTable runat="server" />
0 голосов
/ 05 марта 2010

Почему бы просто не использовать элемент управления Table:

<asp:Table ID="myTable" runat="server" />

Затем просто создайте столбцы и строки и добавьте их на стороне сервера таблиц.

0 голосов
/ 05 марта 2010

Используйте панель и добавьте к ней элемент управления generichtml.

...