问题
I have a class library (in C#). I need to encode my data using the HtmlEncode method. This is easy to do from a web application. My question is, how do I use this method from a class library that is being called from a console application?
回答1:
Import System.Web Or call the System.Web.HttpUtility which contains it
You will need to add the reference to the DLL if it isn't there already
string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);
回答2:
System.Net.WebUtility class is available starting from .NET 4.0 (You donʼt need System.Web.dll dependency).
回答3:
If you are using C#3 a good tip is to create an extension method to make this even simpler. Just create a static method (preferably in a static class) like so:
public static class Extensions
{
public static string HtmlEncode(this string s)
{
return HttpUtility.HtmlEncode(s);
}
}
You can then do neat stuff like this:
string encoded = "<div>I need encoding</div>".HtmlEncode();
回答4:
Try this
System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);
回答5:
Add a reference to System.Web.dll and then you can use the System.Web.HtmlUtility class
回答6:
Just reference the System.Web assembly and then call: HttpServerUtility.HtmlEncode
http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.htmlencode.aspx
回答7:
In case you're using SharePoint 2010, using the following line of code will avoid having to reference the whole System.Web library:
Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);
回答8:
In case you are working with silverlight, use this:
System.Windows.Browser.HttpUtility.HtmlEncode(...);
来源:https://stackoverflow.com/questions/1144535/htmlencode-from-class-library