如何避免“表格嵌套在跨度中” vb.net aspx 页面出现 w3c 验证错误?
我正在努力使我的网站完全符合 w3c 验证器标准。
目前,我收到错误,因为以编程方式生成并插入到标签的文本属性中的表显示为嵌套在 span 标记中的表。
例如
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 验证我的页面时,出现以下错误:
文档类型确实此处不允许使用元素“table”;缺少“object”、“applet”、“map”、“iframe”、“button”、“ins”、“del”开始标记之一
所提到的元素不允许出现在您放置它的上下文;其他提到的元素是唯一允许存在并且可以包含提到的元素的元素。这可能意味着您需要一个包含元素,或者可能您忘记关闭前一个元素。
我认为这是因为我试图将块元素(表)放入内联元素(span)中) - 但我不知道还能怎么做!
有人知道解决方法吗?
谢谢,
本
I am trying to make my site fully w3c validator compliant.
At the moment, I am getting an error because a table which is generated programatically and insterted into a label's text attribute shows as a table nested in a span tag.
e.g
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>
Renders as:
<span id="ctl00_Main_myTable">
<table><tr><td>Hello World</td></tr></table>
</span>
When I then validate my page at validator.w3.org I get the following error:
document type does not allow element "table" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
I assume this is because I'm trying to put a block element (table) inside an inline element (span) - but I don't know how else to do this!
Anyone got any idea of a workaround?
Thanks,
Ben
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
文字
而不是Label
以避免包装元素:
Use a
Literal
instead of aLabel
to avoid the wrapping<span>
element:使用面板并向其添加 generichtml 控件。
Use a panel and add a generichtml control to it.
为什么不只使用表控件:
然后简单地创建列和行并将它们添加到表服务器端。
Why not just use a Table control:
Then simply create the columns and rows and add them to the table server side.