2010-11-19 19 views
6

私は電子メールを送信するためのユーティリティクラスを用意しています。電子メールはhtmlとして生成されます。.NETクラスライブラリのHtmlエンコーディング

正しく表示されない特殊文字のエンコードに問題があります。

しかし、HttpContextがないので、HtmlEncodeの使用方法を理解できません。 Asp.Netの下で実行することなく、特殊文字をhtmlコードに変換する.Netクラスがありますか?

私はそれが理にかなっていることを願っています。ありがとう!

答えて

10

System.Web名前空間をインポートし、HttpUtilityクラスを使用できます。 AltohughそれはWebアセンブリです。私はそれが動作するためにはWeb環境下で動作する必要はないと思います。

+0

ありがとう、なぜ私はそれを見つけられなかったのか分からない! – fearofawhackplanet

+9

System.Webに依存関係を追加することは、クラスライブラリのための良い考えではありません。代わりにSystem.Net.WebUtility.HtmlEncode()を使用してください。 – saille

20

私はSystem.Net.WebUtility.HtmlEncodeがこの機能を提供すると信じています。 MSDN reference for WebUtility.HTMLEncode

+1

1をコード化されますが、それはだけなので、私は残念ながら使用することはできません.NET 4です。 – fearofawhackplanet

2

System.WebのHttpUtilityクラスを使用できます。

2

実際AntiXSSWPLのライブラリを使用して調べる必要があります。

  1. あなたはのSystem.Webを必要としない

  2. ホワイトリストの包含原則(System.Webエンコーディングはブラックリストを使用しています)を使用しています。安全であることが知られている文字のみが、信頼され、他のすべてが正常に最初のもののために

関連する問題