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

豆豆网   技术应用频道   2007年08月22日  【字号: 收藏本文

内容摘要:本文演示了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;
  }
%>

责编:豆豆技术应用

正在加载评论...