这个数组在服务端只是赋值,而且是一次性的!我知道现在可以用Page.RegisterStartupScript("Print","<script language='javascript'>Print(‘参数’);</script>");,但是只能够传一次,而且是字符串,如果我用循环语句的话,就只能执行最后一次,不只为什么??

解决方案 »

  1.   

    hgknight(江雨):
    怎么样,找到了吗?可耽误你下班了?
      

  2.   

    我当初是从数据库里读出数据到dataset里,再填充一个服务器端数组,然后再发送到一个客户端数组里
    简单地给你做个小例子吧
    点击button以后会把服务器端生成的数组传入客户端数组<script language=C# runat=server>
    public string [] TArray;
    private void Page_Load(object sender, System.EventArgs e)
    {
    TArray=new string[3];
    TArray[0]="aaa";
    TArray[1]="bbb";
    TArray[2]="ccc";
    }
    </script>
    <HTML>
    <HEAD>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="WebForm1" method="post" runat="server">
     <INPUT type="button" value="Button" name="b1">
    </form>
    <script language="vbscript">
    option explicit

    sub b1_onclick()
    redim ds(3)
    <%for(int i=0;i<3;i++)%>
    <%{%>
     ds(<%=i%>)="<%=TArray[i]%>"
    <%}%>
    end sub
    </script>
    </body>
    </HTML>
      

  3.   

    to:hgknight(江雨) 
       昨天后来下班,所以没来得及试,现在刚刚试过你方法,还没有弄懂,也没试出来,总是报编译出错!不知还要有什么设置,还有,如:<%for(int i=0;i<3;i++)%>,不知你前面加<%是什么意思??请江雨兄帮帮忙??
    也许真的如yellowwee(端木柒)所说的这是不可能完成的任务,不知有没有其它的好主意???
      

  4.   

    在javascript中取cs中的数组吧。Response.Write ("<script language='jscript'>");
    Response.Write ("var Arr=new Array();");
    for(n=0;...)
       Response.Write ("Arr["+n.ToString()+"]="+CSArr[n]+";")
    Response.Write ("</script>");