10

有没有什么好的方法可以让 ASP.NET 2.0 在 XHTML 1.0 严格(或过渡)DTD 下进行验证?在破解 HTTP 响应的核心之前,我很想听听一些想法。

一个主要问题是表单标签本身,这是我尝试验证时从 W3C 得到的输出:

Line 13, Column 11: there is no attribute "name".
<form name="aspnetForm" method="post" action="Default.aspx" onsubmit="javascript

众所周知,该标记对 ASP.NET 来说是非常基础的。嗯。

4

3 回答 3

11

ASP.NET 2.0 及更高版本确实可以输出严格(或过渡)XHTML。这将解决您的“没有属性“名称””验证错误等问题。要进行此设置,请使用以下内容更新您的 Web.config 文件:

<system.web>
    ... other configuration goes here ...
    <xhtmlConformance mode="Strict" />
</system.web>

对于过渡 XHTML,请mode="Transitional"改用。

请参阅MSDN 上的如何:在 ASP.NET 网站中配置 XHTML 呈现。

于 2008-10-01T07:13:21.317 回答
4

您是否考虑过ASP.NET MVC 框架?如果要求严格的 XHTML 合规性,这可能是一个更好的选择。您可以更好地控制您的输出,但是如果您已经习惯了传统的 ASP.NET 模型,那么您将涉足陌生的领域。

于 2008-09-30T23:24:15.267 回答
2

可以使用CSS 适配器等技术更改 ASP.NET 控件的输出。尽管我个人不建议您开箱即用,但它可能会为您提供一些好的解决方案的提示。

我通常尽可能避免使用 ASP.NET 控件,除了那些不自己生成标记的控件,例如 Repeater 控件。我会研究 ASP.NET MVC 框架(StackOverflow 是基于什么构建的),因为它可以让您 100% 控制标记。

于 2008-09-30T23:20:05.727 回答