0

XHTML 1.0 Strict に準拠させようとしたサイトがあります。それに応じて doctype が宣言され、web.config を次のように設定しました。

  <system.web>
    <xhtmlConformance mode="Strict"/>
  </system.web>

私の問題は今ここにあります。DisplayMode が BulletedListDisplayMode.HyperLink に設定されている BulletedList サーバー コントロールがあります。

このコントロールには、web.sitemap xml ファイルからのエントリが取り込まれます。最初のファイルは無効になっています (コード ビハインドで false に設定されています)。その結果、無効な属性を持つアンカー タグが出力されます。ただし、これは準拠していません。

<ul id="example">
    <li class="first"><a disabled="disabled">test1</a></li>
    <li><a href="#">test2</a></li>
</ul>

これを W3 バリデータに対して検証すると、これが原因で失敗します。これはバグですか?セットの xhtml 準拠を考えると、アンカー タグがまったくレンダリングされていないと予想していました。

リストの最初の項目を、無効なリンクではなくプレーン テキストとして表示しようとしているだけです。助言がありますか?

4

3 に答える 3

0

BulletedList コントロールをいつでも拡張して、その部分を適切に再実装できます。

于 2009-08-13T04:24:46.690 に答える
0

問題は、disabled 属性をアンカー タグに適用してはならないことです。ボタンなどの少数の入力要素にのみ適用してください。

クラス「first」のリスト項目内のアンカー タグの CSS スタイルを変更しようとしましたか?

于 2009-08-13T04:32:17.690 に答える
0

私はベッドに向かっていますが、これを狙撃して、あなたに可能な出発点を提供します.

上記の Silky のように実行して OnRender をオーバーライドするか、System.Web.UI.Adapters.ControlAdapter とブラウザー ファイルを使用してタスクを達成できるかどうかを確認できます。ControlAdapter の欠点は、サイト全体になることです。

于 2009-08-13T05:20:08.793 に答える