图4-28 使用HTMLEncode方法的结果2
现在已经解决了不提交HTML而显示HTML的问题。但是如果要在HTML中显示HTMLEncode方法的结果,而又不提交和处理这些结果,又会发生什么情况?为了解决这个问题,要从HTMLEncode方法本身考虑:
This is <B>"bold"</B> text
上面的语句在HTML网页中得不到同样的显示结果,这是因为HTML字符实体将被浏览器处理和执行,并显示为实体所替代的字符。换句话说,得到的是:
This is <B>”bold”</B> text
我们没有看到实体。为了避免这种情况,可两次使用Server.HTMLEncode方法。这就把“&”号变换为“&”,这样就得到了所需的显示结果。示例网页的这个部分的代码是:
If Len(Request.Form(“cmdHTMLEncode”)) Then
strValue = Request.Form(“txtHTMLEncode”) ‘Get the value from the text box
strResult = Server.HTMLEncode(strValue) ‘HTMLEncode to convert <,> and “
strDisplay = Server.HTMLEncode(strResult) ‘Then again to convert & to &
Response.Write “<B>Results:</B><BR>Server.HTMLEncode (“ & QUOT & strResult _
& QUOT & “) returned <B>” & QUOT & strDisplay & QUOT _