Answers:
您可以使用 HttpUtility.HtmlDecode
如果您使用的是.NET 4.0+,则也可以使用WebUtility.HtmlDecode
不需要额外的程序集引用的System.Net
名称,因为它在名称空间中可用。
HttpUtility.UrlDecode
在.Net 4.0上:
System.Net.WebUtility.HtmlDecode()
无需包括C#项目的程序集
正如@CQ所说,您需要使用HttpUtility.HtmlDecode,但是默认情况下,它在非ASP .NET项目中不可用。
对于非ASP .NET应用程序,您需要添加对的引用System.Web.dll
。在解决方案资源管理器中右键单击您的项目,选择“添加引用”,然后浏览列表以查找System.Web.dll
。
现在已经添加了引用,您应该可以使用完全限定的名称来访问该方法,System.Web.HttpUtility.HtmlDecode
或者插入一个using
语句System.Web
以使事情变得更容易。
使用Server.HtmlDecode
的HTML实体解码。如果要转义 HTML,即向用户显示<
和>
字符,请使用Server.HtmlEncode
。
要解码HTML,请看下面的代码
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s);
Response.Write(a);
输出就像
Svendborg Værft A/S
将方法静态写入某些实用工具类,该工具类接受string作为参数并返回解码的html字符串。
将using System.Web.HttpUtility
纳入课程
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
对于.net 4.0
添加System.net.dll
对项目的引用,using System.Net;
然后使用以下扩展名
// Html encode/decode
public static string HtmDecode(this string htmlEncodedString)
{
if(htmlEncodedString.Length > 0)
{
return System.Net.WebUtility.HtmlDecode(htmlEncodedString);
}
else
{
return htmlEncodedString;
}
}
public static string HtmEncode(this string htmlDecodedString)
{
if(htmlDecodedString.Length > 0)
{
return System.Net.WebUtility.HtmlEncode(htmlDecodedString);
}
else
{
return htmlDecodedString;
}
}