1

サイトを完全に w3c バリデーターに準拠させようとしています。

現在、プログラムで生成され、ラベルのテキスト属性に挿入されたテーブルが、span タグにネストされたテーブルとして表示されるため、エラーが発生しています。

例えば

MyPage.aspx.vb

strHtml = "<table><tr><td>Hello World</td></tr></table>" 
Me.myTable.Text = strHtml

MyPage.aspx

<asp:Label ID="myTable" runat="server" Text="testimonialTable"></asp:Label> 

次のようにレンダリングします。

<span id="ctl00_Main_myTable">
<table><tr><td>Hello World</td></tr></table>
</span>

その後、validator.w3.org でページを検証すると、次のエラーが表示されます。

ドキュメント タイプでは、ここで要素「テーブル」を使用できません。「object」、「applet」、「map」、「iframe」、「button」、「ins」、「del」開始タグのいずれかが欠落しています

言及された要素は、それを配置したコンテキストでは表示できません。他の言及された要素は、そこで許可され、言及された要素を含むことができる唯一のものです。これは、包含要素が必要であるか、前の要素を閉じるのを忘れている可能性があることを意味している可能性があります。

これは、ブロック要素 (テーブル) をインライン要素 (スパン) 内に配置しようとしているからだと思いますが、他にこれを行う方法がわかりません!

誰でも回避策を思いつきましたか?

ありがとう、

ベン

4

3 に答える 3

1

a のLiteral代わりに aを使用しLabelて、ラップ<span>要素を回避します。

<asp:Literal ID="myTable runat="server" />
于 2010-03-04T22:46:22.477 に答える
0

パネルを使用して、generichtml コントロールを追加します。

于 2010-03-04T22:48:41.133 に答える
0

テーブル コントロールを使用しない理由:

<asp:Table ID="myTable" runat="server" />

次に、列と行を作成し、それらをテーブル サーバー側に追加するだけです。

于 2010-03-04T22:49:34.443 に答える