日期:2011-11-20  浏览次数:21094 次

  服务端 VBScript 与 JScript 几个相同特性的写法

  摘要:本文演示了ASP服务端脚本的几个重要应用.

  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; 
    } 
%>