HtmlEncode就是Server对象的其中一个方法了。它允许你对特定的字符串进行 HTML 编码,虽然 HTML 可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含 HTML 标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。
还是看一个程序,我想在页面显示“ ”这样的代码(附: 是空格的代码)
那么当我进行书写的时候你会发现,浏览器已经给我解释了的。
[Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行]
所以,为了要让一些特殊代码能够显示,就运用该方法了。
2,htmlencode.asp
<%Response.write ("这是没有采用 HTMLEncode 方法的测试。<br> 这里就另起一行,说明代码被执行。 ")%> <hr> <%Response.write Server.HtmlEncode("这是对 HTMLEncode 方法的测试。<br> 这里应该不会另起一行,也就是代码没有被执行了。 ")%> |
这在许多网站,论坛都存在的一些BUG,不信你可以到各论坛试试:敲入 就是没有,急死你呢:)当然HtmlEncode只是其中的一个原因,最主要的还是UBB代码的转换。不过关于这点我也已经调试解决了。
调试地址参看 http://www.cnbruce.com/juven/showart.asp
当然经典论坛不存在这问题,要不你也不会看到效果了。
三,Server.UrlEncode
正如 HtmlEncode 方法使客户可以将字符串翻译成可接受的 HTML 格式一样,Server 对象的 UrlEncode 方法则是根据 URL 规则对字符串进行正确编码,当字符串数据以 URL 的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行 URL 编码,可以使用 Server.URLEncode 方法。
为方便起见,我们先看为处理送交,然后处理接受的效果。
3,urlencode.asp
<%filepath=request.servervariables("script_name")%> 接受URL中的值(没有处理接受值,发现值被解释了): <%=request.querystring("cnbruce")%> <form action="<%=filepath%>"> 你可以输入“<hr>”等代码看看:<input type="text" size="20" name="cnbruce"><input type="submit"> </form> 接受URL中的值(进行了urlencode编码,不会执行): <%=Server.URLEncode(request.querystring("cnbruce"))%> |