服务端 VBScript 与 JScript 几个相同特性的写法与示例 |
By shawl.qiu 摘要: 本文演示了ASP服务端脚本的几个重要应用. 目录: 1. 遍历集合/对象 1.1 VBScript 遍历表单集合 1.2 JScript 遍历表单集合 2. 转变量值为变量, 并赋值 2.1 VBScript 转变量值为变量并赋值 2.2 JScript 转变量值为变量并赋值 3. 动态包含文件 3.1 VBScript 动态包含文件 3.2 JScript 动态包含文件 shawl.qiu 2006-10-11 http://blog.csdn.net/btbtd 1. 遍历集合/对象 1.1 VBScript 遍历表单集合 linenum <% for each temp in request.Form response.write temp&": "&request.form(temp) next %> 1.2 JScript 遍历表单集合 linenum <% for (var $e=new Enumerator(Request.Form); !$e.atEnd(); $e.moveNext()){ Response.Write($e.item()+:<br/> +Request.Form($e.item())); } %> 2. 转变量值为变量, 并赋值 2.1 VBScript 转变量值为变量并赋值 linenum <% for each temp in request.Form execute temp&"=request.form(temp)" next %> 2.2 JScript 转变量值为变量并赋值 linenum <% var $xml=new ActiveXObject("microsoft.xmldom"); $xml.load(Server.MapPath(config.xml)); var $childNodes=$xml.documentElement.selectSingleNode(//siteconfig).childNodes for ($e=new Enumerator($childNodes); !$e.atEnd(); $e.moveNext()){ eval($e.item().nodeName+"=$e.item().text"); } $xml=null; Response.Write(sitekeywords); %> 3. 动态包含文件 3.1 VBScript 动态包含文件 linenum <% function fInclude(filepath) sample call /// execute fInclude("include/system/language/"&sitefglang&"/main.asp") \\\ dim cnt cnt=CreateObject("scripting.fileSystemObject").openTextFile(server.MapPath(filepath)).readall cnt=replace(cnt,"<"&chr(37),"") cnt=replace(cnt,chr(37)&">","") fInclude=cnt end function shawl.qiu code execute fInclude("include/system/language/"&sitefglang&"/main.asp") %> 3.2 JScript 动态包含文件 linenum <% eval($dynInc(aj2.asp)); Response.Write($test); function $dynInc($fl){ /* ------------------------------------\ * 服务端 JScript 动态包含文件 By shawl.qiu * sample call: eval($dynInc(aj2.asp)); \*------------------------------------*/ var $fso=new ActiveXObject("scripting.fileSystemObject"); $str=$fso.OpenTextFile(Server.MapPath($fl)).ReadAll(); $str=$str.replace(/\<\%|\%\>/g,); $fso=null; return $str; } %> |