클래스 라이브러리의 HTMLEncode


166

클래스 라이브러리 (C #)가 있습니다. HtmlEncode 메서드를 사용하여 데이터를 인코딩해야합니다. 웹 응용 프로그램에서 쉽게 수행 할 수 있습니다. 내 질문은 콘솔 응용 프로그램에서 호출되는 클래스 라이브러리 에서이 방법을 어떻게 사용합니까?

답변:


208

System.Web 가져 오기 또는이를 포함하는 System.Web.HttpUtility를 호출하십시오.

DLL에 대한 참조가 없으면 추가해야합니다.

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

7
현재 진행중인 요청을 지원하고 이전 ASP 서버 개체의 기능을 에뮬레이션하도록 설계된 Server Utility 클래스의 인스턴스를 만들어야합니다. HttpUtility는 더 가벼운 정적 메소드 세트입니다.
AnthonyWJones

3
프레임 워크 유형에 "클라이언트 프로파일"이 지정되어 있지 않은지 확인하십시오. 이것을 전체 프레임 워크로 변경하면 system.web 어셈블리를 사용할 수 있습니다
Martin Murphy

내 프로젝트에서 System.Web.HttpUtility를 사용할 수 없었습니다 (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string)을 사용할 수 있었고 제대로 작동했습니다.
demonicdaron

204

System.Net.WebUtility 클래스는 .NET 4.0 (System.Web.dll 종속이 필요하지 않음)부터 사용할 수 있습니다.


7
감사합니다. 이제 전체 프레임 워크 대신 .NET 4 Client Profile을 사용할 수 있습니다!
Annagram

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에 대한 참조를 추가 할 필요가 없기 때문에 훨씬 좋습니다.
newman

7

System.Web.dll에 대한 참조를 추가하면 System.Web.HtmlUtility 클래스를 사용할 수 있습니다



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.