i 是 js中的变量
js在客户端执行
<%=UInfo[i]%> 中的程序是在服务器端执行的
你需要在
<% %>中定义i

解决方案 »

  1.   

    UInfo[] 我用session 传到前台了。
    <%
    session = request.getSession(true);
    String[][] s2Type = (String[][]) session.getAttribute("e_kcin12");
    int n1 = s2Type.length;
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>test</title>
    <link href="css/default.css" rel="stylesheet" type="text/css">
    </head><script language="JavaScript" type="text/JavaScript">
    function SetDL(){
       var frm = document.frm_1;
       var s2dldm = "";
       var s2dlmc = "";
       var n2len = <%=n1%>;  
      for ( var i = 0; i< n2len; i++){
         s2dldm = "<%=s2Type[i][0]%>";    ?????
         s2dlmc = "<%=s2Type[i][1]%>";
         if ( s2dldm.length == 2){
     alert(s2dldm);
     alert(s2dlmc); ????  }
       
         
    }
      

  2.   

    yeefly(Web开发版)  有qq吗? 我的qq: 800026 , 请多指教
      

  3.   

    服务器端程序执行完毕后才把内容发送给客户端 
    这时你的js才开始执行  那么你认为<%=s2Type[i][0]%> 还能取到js中的i吗
      

  4.   

    服务器端变量需要<%%>内定义
      

  5.   

    建议利用一个javascript数组将asp数组的变量先保存起来,然后再调用:
    如下面代码:
    <%
       var mar = new Array();
       mar[0] = "a" ;
       mar[1] = "b" ;
       mar[2] = "c" ;
       mar[3] = "d" ;
    %>
    <script>
    var test = new Array();
    <%
      for(var n = 0 ; n < mar.length ;n ++)
      {
          str = "test["+n+"]='" + mar[n] +"';";
          Response.Write(str);
      }
    %>
    alert(test[2]);
    </script>
    有一个服务器端的asp数组变量mar,它是在服务器端执行的,不能直接传到客户端,所以利用
    javascript的一个数组变量test来保存起来 ,传到客户端以后,就可以直接调用test[n]来访问 。 。 。 。
      

  6.   

    <%%>中的内容是服务器端程序,解释执行后才发到客户端,这时才执行js程序
    可以像ricky460(阿酷)说的那样,但程序不能像他那样写,asp和js怎么能混用呢
    呵呵
      

  7.   

    to programmer11(程序员) 
       看来你是一个新手 。 。 。 
    请把我的代码拷贝执行测试一下再来发表意见 。 。 。
    当然在html的页首需要加上 
    <%@language="javascript"%>