知识大全 Server对象:数据格式化

Posted 字符

篇首语:丈夫欲遂平生志,一载寒窗一举汤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Server对象:数据格式化相关的知识,希望对你有一定的参考价值。

Server对象:数据格式化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  第一 格式化数据

  这里首先涉及的是在一个HTML网页中如何显示HTML代码的方法

  字符与等价的HTML实体的关系

  < &>

  如果我们在输出流中直接使用< >这些标签是无法在浏览器上明文显示的

  等等~~ 我们在需要的时候 必须对他们进行转换 即Server对象的HTMLEncode方法

  Response Write Server HTMLEncode ( & QUOT & strvalue & QUOT & ) returned …    现在所能做的就是把HTMLEncode方法应用于正在输出的值上

  …strResult = Server HTMLEncode(strvalue)Response Write Server HTMLEncode ( & QUOT & strResult & QUOT & ) returned     从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 _                           & </B><HR> End If

  HTMLEncode与HTML控件的缺省值

  从上面可以看出 如果在一个HTML网页中要显示HTML代码 而又不使之被作为HTML进行处理和执行 HTMLEncode方法是非常有用的 在大多数普通的ASP网页中不大可能会遇到这种情况 除非使用包含有HTML的数据库或其他数据源中的数据 而又需要作为文本进行显示

  但是HTMLEncode方法真正有用的地方是 通过设置value属性预设页面中文本类型的HTML控件的值 作为例子 可看一下已经用于练习HTMLEncode方法的示例网页的源程序 创建HTMLEncode对应的文本框的HTML在HTML页中定义如下 …<INPUT TYPE= TEXT NAME= txtHTMLEncode SIZE= value= This is <B> bold </B> text >…    这是 手工编码 而不是使用Server HTMLEncode方法 这里也只关心对双引号进行编码而不关心对尖括号的编码 为什么?这是因为如果没有这样做 该代码将被读为   value= This is <B> bold </B> text     而在这种情况中尖括号不会带来问题 未编码的双引号则会 在文本框中替换的实际值将是 This is <B> 即它将在第二个双引号字符处被截断 所以 在创建预置控件值的页面时 应该考虑使用HTMLEncode方法 以避免这些值被截断  <%      strvalue = Request Form( txtSomevalue )      %>      …      <INPUT TYPE= TEXT NAME= txtSomevalue                     value= <% = ServerEncode( strvalue ) %> >      …

  当浏览器发送已经被HTML编码的一个控件的值给服务器时 自动进行反向译码 即服务器使用Request集合中原来格式的数据

  第二   格式化UTL的数据

  还有另外一种情况 就是经常需要把一个文本字符串变换成能够在Web网页中使用的另外一种格式 现代Web服务器和操作系统都十分友好地支持包含空格字符的文件名 但是我们所使用的URL可能包含有空格字符 由于HTTP使用的URL语法不允许有空格字符(和几个其他字符) 可能会出现麻烦

  另外一种更普遍的情况也会出现麻烦 当把这些值作为QueryString集合的成员传送给服务器时 将被追加到URL的末尾(在一个问号字符之后) 这种情况发生在<FORM>的METHOD属性被设置为 GET (或者是省略了METHOD属性)的情况 换句话说 对于直接追加到URL上的值 都可能出现麻烦 这可能发生在<A>元素中

  <A HREF=?title=Instant Jscript>Instant Jscript</A>

  一些浏览器(例如Internet Explorer)可以对此进行处理 因为它们在把HTTP请求发送到服务器之前 自动地执行必要的转换 然而 许多其他的浏览器不进行这种转换 并导致了URL通常在第一个空格或非法字符处被截断 这样在Navigator中 上面给出的链接要求的网页变为?title=Instant 在服务器上 title名字/值对的丢失部分会使代码失败

  考虑到HTTP协议定义的限制 必须从作为HTTP请求中的URL使用的字符串中删除非法的字符(非法字符是所有那些ANSI代码在 之上的字符和ANSI代码在 以下的某些字符)

  ANSI代码大于 的字符必须用百分号后跟十六进制形式的ANSI代码进行替换 这样 版权字符?变成%A ANSI代码在 之下在URL中不合法的字符 同样使用相应的替代字符串

  表   字符与HTTP/URL代替物的关系空格 + % C % ] :% D! :% ^ :% E# :% ` :% $ :% :% B% :% | :% C& :% :% D( :% + :% B) :% < :% C/ :% F= :% D: :% A> :% E; :% BChr( ) :忽略] :% BChr( ) :% D    Server对象提供了可以用来把任意字符串转换成相应的合法HTTP URL的方法

  If Len(Request Form( cmdURLEncode )) Then      strvalue = Request Form( txtURLEncode )      Response Write <B>Results:</B><BR>Server URLEncode ( & QUOT & strvalue _                    & QUOT & ) returned <B> & QUOT & Server URLEncode(strvalue) _                    & QUOT & </B><HR> End If    对HTML元素和其他链接使用URLEncode

  URLEncode方法更普遍地用于把<A>元素或其他链接的值写到ASP网页 例如 如果在查询字符串中建立了一系列的链接 这 些链接包含来自一个数据库的值 首先应该对这个字符串使用Server URLEncode方法

  <%      strvalue = Request Form( txtSomevalue )           Create the full URL for the link as an HTTP legal string      strURL = ?title= & Server URLEncode( strvalue )      Make sure we don t have any non legal HTML characters in the page text      strLink = Server HTMLEncode( strvalue )      %>      …      <A HREF= <% = strURL %> ><% = strvalue %></A>      …    如果放入字符串strvalue的值包含标题 Active Server Pages? 将得到由这个代码段创建的如下所示的HTML <A HREF=?title=Active+Server+Pages%A >Active Server Pages?</A>    注意 我们不仅仅使用Server URLEncode方法来建立一个合法的URL字符串 而且还对链接的文本使用了Server HTMLEncode方法 以确保把所有非法的字符转换为合适的HTML等价实体

cha138/Article/program/net/201311/11927

相关参考

知识大全 使用ADO对象连接SQL Server数据库

使用ADO对象连接SQLServer数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  链接代

知识大全 SQL Server数据库对象信息的获取方法

SQLServer数据库对象信息的获取方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在开发

知识大全 SQL Server数据库对象信息的获取[4]

SQLServer数据库对象信息的获取[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 SQL Server数据库对象信息的获取[3]

SQLServer数据库对象信息的获取[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 SQL Server数据库对象信息的获取[2]

SQLServer数据库对象信息的获取[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 SQL Server数据库对象信息的获取[1]

SQLServer数据库对象信息的获取[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 获得XML格式的SQL Server图表结构

获得XML格式的SQLServer图表结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序员

知识大全 格式化json日期格式对象

  格式化json日期格式对象  调用toDate(timeString)  /**  *时间对象的格式化  */  Dateprototypeformat=function(format)  /* 

知识大全 解析Server对象

解析Server对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Server对象提供对服务器上访

知识大全 全面解析Server对象

全面解析Server对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Server对象提供对服