我有一个没有通过W3C XHTML验证的ASP.NET网站。
它没有通过验证,因为我将<div>
内容放入<asp:Label>
,因此生成的标记如下所示:
<span><div>stackoverflow</div></span> <!-- INVALID; DIV INSIDE SPAN -->
但是,在将所有<asp:Label>
替换为<asp:Literal>
之后,我会收到<asp:Literal>
无法嵌套在另一个<asp:Literal>
内的错误。
我真的不明白我是怎么解决这个问题的,因为<asp:Literal>
听起来就像我原本想要的那样。
使用<asp:PlaceHolder>
的正确解决方案吗?
答案 0 :(得分:1)
试试这个解决方案
<div id="div" runat="server">
</div>
中的代码
div.InnerHtml = "<div>Example HTML</div>";
答案 1 :(得分:-1)
重复,回答:Using Panel or PlaceHolder
简短回答,<asp:Panel>
变为<div>
,因此您需要类似
<asp:Panel>
<asp:Label .../>
</asp:Panel>