1

我正在尝试使我的网站完全符合 w3c 验证程序。

目前,我收到一个错误,因为以编程方式生成并插入到标签的文本属性中的表显示为嵌套在 span 标签中的表。

例如

我的页面.aspx.vb

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

我的页面.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 验证我的页面时,我收到以下错误:

文档类型在此处不允许元素“表格”;缺少“object”、“applet”、“map”、“iframe”、“button”、“ins”、“del”开始标签之一

所提到的元素不允许出现在您放置它的上下文中;其他提到的元素是唯一允许在那里并且可以包含提到的元素的元素。这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素。

我认为这是因为我试图将块元素(表)放在内联元素(跨度)中 - 但我不知道该怎么做!

有人知道解决方法吗?

谢谢,

4

3 回答 3

1

使用 aLiteral而不是 aLabel来避免包装<span>元素:

<asp:Literal ID="myTable runat="server" />
于 2010-03-04T22:46:22.477 回答
0

使用面板并向其添加 generichtml 控件。

于 2010-03-04T22:48:41.133 回答
0

为什么不直接使用 Table 控件:

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

然后只需创建列和行并将它们添加到表服务器端。

于 2010-03-04T22:49:34.443 回答