ASP.NET 2.0 / 3.5でのXHTML 1.0の厳格な(または過渡的な)準拠
-
03-07-2019 - |
質問
ASP.NET 2.0をXHTML 1.0 Strict(またはTransitional)DTDで検証するための良い方法はありますか? HTTPレスポンスのコアをハックする前に、いくつかのアイデアを聞くことに興味があります。
1つの大きな問題は、フォームタグ自体です。これは、検証しようとしたときにW3Cから取得した出力です。
Line 13, Column 11: there is no attribute "name".
<form name="aspnetForm" method="post" action="Default.aspx" onsubmit="javascript
ご存知のように、このタグはASP.NETの基本です。うーん。
解決
ASP.NET 2.0以降では、厳密な(または過渡的な)XHTMLを実際に出力できます。これにより、「属性&quot; name&quot;がありません」が解決されます。とりわけ検証エラー。これを設定するには、次のようなものでWeb.configファイルを更新します。
<system.web>
... other configuration goes here ...
<xhtmlConformance mode="Strict" />
</system.web>
トランジショナルXHTMLの場合は、代わりに mode =&quot; Transitional&quot;
を使用します。
他のヒント
ASP.NET MVCフレームワークを検討しましたか?厳密なXHTMLコンプライアンスが必要な場合は、より適切な方法です。出力をより細かく制御できますが、従来のASP.NETモデルに既に慣れている場合は、なじみのない領域を踏むことになります。
CSSアダプターなどの手法を使用して、ASP.NETコントロールの出力を変更することができます。これらをそのまま使用することは個人的にお勧めしませんが、良い解決策についてのヒントが得られるかもしれません。
通常、ASP.NETコントロールは可能な限り使用しません。ただし、Repeaterコントロールなど、独自にマークアップを生成しないものは除きます。 ASP.NET MVCフレームワーク(StackOverflowの構築対象)を調べます。これにより、マークアップを100%制御できるようになります。