171

我有一个类库(在 C# 中)。我需要使用 HtmlEncode 方法对我的数据进行编码。这很容易从 Web 应用程序中完成。我的问题是,如何从控制台应用程序调用的类库中使用此方法?

4

8 回答 8

209

System.Net.WebUtility类从 .NET 4.0 开始可用(您不需要 System.Web.dll 依赖项)。

于 2010-05-11T06:42:17.977 回答
209

导入 System.Web 或调用包含它的 System.Web.HttpUtility

如果还没有 DLL,则需要添加对 DLL 的引用

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
于 2009-07-17T17:05:45.333 回答
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();
于 2009-07-17T20:03:23.773 回答
28

尝试这个

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
于 2012-04-03T14:19:17.347 回答
7

添加对 System.Web.dll 的引用,然后您可以使用 System.Web.HtmlUtility 类

于 2009-07-17T17:08:52.160 回答
3

如果您使用的是 SharePoint 2010,则使用以下代码行将避免引用整个 System.Web 库:

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
于 2011-04-03T23:38:17.720 回答
3

只需引用 System.Web 程序集,然后调用:HttpServerUtility.HtmlEncode

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx

于 2009-07-17T17:07:01.027 回答
2

如果您使用的是 silverlight,请使用以下命令:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
于 2010-12-11T02:41:07.440 回答