0

asp.net のリテラル コントロールに html エンティティを表示する際に問題があります。

コンテンツをリテラル コントロールに渡す前に、たとえば£に文字をエンコードし£ますが、ページに表示されると の£代わりに表示されます£。ソースを確認したところ、htmlエンティティをエンコードしていません&amppound;が、プレーンテキストとして表示しています。

バックエンドで を削除してリテラル コントロールhtmlencodeを追加しようとしましたが、同じ結果が得られます。mode="encode"

なぜこれが起こるのか誰か知っていますか?

ラベル コントロールを使用できることはわかっていますが、もっと良い方法はありますか? 私はHTML形式のリテラルコントロールが与えるのが好きではありません。

4

1 に答える 1

1

リテラル lt が与えられた場合、HtmlEncode ではなく、

lt.Mode = LiteralMode.PassThrough;
lt.Text = "&pound";

また

<asp:Literal runat="server" ID="lt" Mode="PassThrough">&pound;</asp:Literal>

これが役立つことを願っています

于 2012-12-13T09:38:34.490 に答える