クラスライブラリのHtmlEncode


166

クラスライブラリ(C#)があります。HtmlEncodeメソッドを使用してデータをエンコードする必要があります。これは、Webアプリケーションから簡単に実行できます。私の質問は、コンソールアプリケーションから呼び出されているクラスライブラリからこのメソッドを使用するにはどうすればよいですか?

回答:


208

System.Webをインポートするか、それを含むSystem.Web.HttpUtilityを呼び出します

DLLへの参照がまだない場合は、追加する必要があります。

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);

7
現在進行中のリクエストをサポートし、古いASPサーバーオブジェクトの機能をエミュレートするように設計されたサーバーユーティリティクラスのインスタンスを作成する必要があります。HttpUtilityは、静的メソッドの軽量セットです。
AnthonyWJones 2009

3
フレームワークタイプで「クライアントプロファイル」が指定されていないことを確認してください。これを完全なフレームワークに変更すると、system.webアセンブリが使用可能になります
Martin Murphy、

System.Web.HttpUtilityがプロジェクトで使用できませんでした(.NET Framework 4.7.1)。System.Net.WebUtility.HtmlEncode(string)が利用可能で、正常に動作しました。
demonicdaron


39

C#3を使用している場合、これをさらに簡単にする拡張メソッドを作成することをお勧めします。次のように静的メソッドを(できれば静的クラスで)作成します。

public static class Extensions
{
    public static string HtmlEncode(this string s)
    {
        return HttpUtility.HtmlEncode(s);
    }
}

次に、このようなきちんとしたことを行うことができます:

string encoded = "<div>I need encoding</div>".HtmlEncode();

25

これを試して

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);

4
WPFプロジェクトでSystem.Webへの参照を追加する必要がないため、これははるかに優れています。
ニューマン2013年



3

SharePoint 2010を使用している場合、次のコード行を使用すると、System.Webライブラリ全体を参照する必要がなくなります。

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);

2

Silverlightを使用している場合は、これを使用します。

System.Windows.Browser.HttpUtility.HtmlEncode(...);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.