1. 刚才学习了 HttpUtility 的 HtmlEncode 方法,在 vs 中测试的时候,发现已经 using System.Web 这个命名空间了,但是就是显示找不到 HttpUtility 这个类。
为什么呢?????????
最后 google 的结果是: 工程名上-> 右键,Add Reference-> 选择System.Web->OK
可能是这样,才算是把 system.web.dll 引入进来了。
2. 关于 HttpUtility.HtmlEncode 方法,有两个重载的方法
该方法使用的场景:如果在 HTTP 流中传递空白和标点之类的字符,则它们在接收端可能会被错误地解释。 HTML 编码将 HTML 中不允许使用的字符转换为等效字符实体; HTML 解码会反转此编码过程。例如,为进行 HTTP 传输,字符 < 和 > 在嵌入到文本块中时分别被编码为 < 和 > 。
代码示例:
using System;
using System.Web;
using System.IO;
class MyNewClass
{
public static void Main()
{
String myString;
Console.WriteLine("Enter a string having '&' or '/" ' in it: ");
myString=Console.ReadLine();
String myEncodedString;
// Encode the string.
myEncodedString = HttpUtility.HtmlEncode(myString);
Console.WriteLine("HTML Encoded string is " +myEncodedString);
StringWriter myWriter = new StringWriter();
// Decode the encoded string.
HttpUtility.HtmlDecode(myEncodedString, myWriter);
Console.Write("Decoded string of the above encoded string is " + myWriter.ToString());
}
}
测试结果:
当输入:j&k"m的时候,encode后为:j&k"m 然后decode后为j&k"m