0

私のページには単純な文字があります。

<asp:Literal ID="litDescription" runat="server"></asp:Literal>

次のテキストをリテラルに設定しようとしているとき:

<p><div>Some Text</div></p>

ブラウザのマークアップに表示されます

<p></p>
    <div>Some Text</div>
<p></p>

なぜ2つの「p」タグがあるのですか?私は持っている必要があります

<p><div>Some Text</div></p>.
4

3 に答える 3

9

P内のdivは無効なHTMLです。.netが

上。私はそれがあなたのブラウザから来ていると思います。

于 2012-12-04T15:41:08.090 に答える
1

<div>タグの中にタグを入れるのは悪い構文<p>です。そのはず<div><p>Some Text</p></div>

C#で:

litDescription.Text = "<div>Some Text</div>";

ただし、それでも構文は正しくありません。divを使用して<p>タグの一部にインラインスタイルを適用する場合は、の<span>代わりにを使用して<div>ください。

litDescription.Text = "Some Text";正しいhtml構文です。

于 2012-12-04T15:41:53.020 に答える
0

asp.netWebフォームのサーバー側の制御構造とより一致する別のアプローチ。

<p><div>
<asp:Literal id=DescriptionLiteral runat="server" />
</div></p>

// c# code:
DescriptionLiteral.Text = "Some Text";

<div>タグ内にネストされた<p>タグは、有効なHTMLマークアップではないことに注意してください。

于 2012-12-04T15:43:17.260 に答える