2009-07-17 58 views
146

我有一個類庫(在C#中)。我需要使用HtmlEncode方法編碼我的數據。這從Web應用程序很容易做到。我的問題是,如何從控制檯應用程序調用的類庫中使用此方法?Class Library的HtmlEncode

回答

188

進口的System.Web 或致電其中包含System.Web.HttpUtility它

您需要將引用添加到DLL,如果它不存在的話

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

你需要建立一個旨在支持Server Utility的類的實例當前正在進行請求和模擬功能的舊ASP服務器對象。 HttpUtility是一個較輕的靜態方法集。 – AnthonyWJones 2009-07-17 17:11:46

+0

正式注意,並編輯 – 2009-07-17 17:13:41

+1

大寫事項:HtmlEncode – Nathan 2009-11-15 18:07:50

6

添加對System.Web.dll的引用,然後您可以使用System.Web.HtmlUtility類

40

如果您使用的是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(); 
2

如果你是使用Silverlight的工作,使用:

System.Windows.Browser.HttpUtility.HtmlEncode(...); 
3

在你使用SharePoint 2010,使用下面的代碼行會避免引用整個System.Web程序庫的情況下:

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

試試這個

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