3

リテラルコントロールを使用して、html形式のテキストを表示しています。br、hrタグが表示されないため、空のスペース行が消えます。この問題について誰か助けてもらえますか?

4

2 に答える 2

7

asp :LiteralコントロールにはModeプロパティがあります。PassThroughに設定してみてください。

<asp:Literal Mode="PassThrough" Text="This<hr />Works" runat="server" />

これは出力します:

ここに画像の説明を入力してください

それはあなたが求めているもののようです...

次のOPコメントを編集します。彼が望んでいることを正確に実行する別の例:

<asp:Literal runat="server" Mode="PassThrough" Text="<p>para 1</p><br/><p>para2 </p>"/>

次のように出力します:

ここに画像の説明を入力してください

私はあなたがあなたの出力をいじり回しているいくつかのCSSまたは他のスタイリングを持っていると思います。クリーンなプロジェクトでこれをテストして、期待どおりに機能することを確認することをお勧めします...

于 2012-12-22T14:38:53.283 に答える
2

使用できます

<asp:Literal Mode="PassThrough"></asp:Literal>

MSDNからの定義:

PassThrough:コントロールの内容は変更されません。

エンコード:コントロールの内容は、HTMLでエンコードされた文字列に変換されます。

変換:サポートされていないマークアップ言語要素がコントロールのコンテンツから削除されます。リテラルコントロールがHTMLまたはXHTMLをサポートするブラウザーでレンダリングされる場合、コントロールのコンテンツは変更されません。

Transform Mode:
<br />
<asp:Literal ID="literal1" Mode="Transform" Text="<b>This is Transform </b>" 
runat="server" />
<br />
<br />
Pass Through Mode:
<br />
<asp:Literal ID="literal2" Mode="PassThrough" Text="<b><u>This is Pass Through</b></u>" runat="server" />
<br />

<br />
Encode Mode:
<br />
<asp:Literal ID="literal3" Mode="Encode" Text="<b>This is Encode </b>" 
runat="server" />
</div>
</asp:Content>

<br />
<asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="#000099" />
</asp:Content>
于 2012-12-22T14:58:39.817 に答える