通过URI验证asp.net xhtml strict

时间:2011-03-29 23:02:39

标签: asp.net validation xhtml uri xhtml-1.0-strict

我有一个asp.net网站,它正在使用xhtml strict dtd&在web.config中使用xhtmlConformance模式。 当通过源验证时,我得到零错误,但是当我通过URI得到2个错误时

没有属性“name”

<form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">

我不知道该name属性来自哪里。它在输出的xhtml中不存在。

第二个错误是因为它将视图状态视为未包含在div中(即使它是)。

不确定发生了什么。

1 个答案:

答案 0 :(得分:0)

生成name属性的原因是,如果您未指定属性,则ASP.NET会自动创建name属性。

根据MSDN article

  

表单必须具有唯一名称。 一个是   由ASP.NET自动分配   你没有指定一个。你可以设置   表单的标识符使用   ID或Name属性。如果两者都设置了,   ID属性优先。它   但重要的是要注意,任何   以编程方式使用Name属性   妥协了XHTML的合规性   这页纸。在XHTML中,元素是   由ID而不是名称标识。所以   一般来说,你会更好   依赖于ID属性。

但是,有一种方法可以删除name属性:使用XHTML Fixes。 (有关详细信息,请参阅this ASP.NET forum thread。)

关于您的第二个<div>错误:您可以从浏览器复制源代码(不是您编写的来源)并将其粘贴到那里吗?这将有助于我们找到该错误的问题。

编辑:This question about validating ASP.NET as XHTML 1.0 Strict应该有用。