C#数组赋值给JS数组————后台CS数据赋值给前台JS数组

来源:互联网 发布:设施设备管理软件 编辑:程序博客网 时间:2024/06/05 06:34
 当用到.net 时,很多新手都为如何解决.cs文件里数组赋值给.aspx中js数组的问题。我也是百度了N久,结果没有特别明确的答案,然后问了专业人士,又自己实践了一下,才搞出来的。现在给大家一个详细的例子来说明下这个问题如何解决。 第一步:定义cs数组cs文件里后台程序中要有数组,这个数组要定义成公共的数组,如 :public  int[] aa=new int[20];       public string[] bb=new string[20];为什么要定义成public,具体我也说不清楚,谁让我是一只菜鸟,如果不定义为public前台赋值的时候就会报错滴!第二步:将cs数组赋值一般要通过cs数组赋值给js数组的情况是cs数组是通过数据库读取得到的,后边的例子就是这么做的。当然,为练习也可以直接为cs数组赋值就可以了,这里就不做详细解释。第三步:将cs数组赋值个js数组这个步骤是关键,我选用的方法就是<%=cs数组%>。这样模糊的说法也是百度得到的,但是真正的赋值却不是简单的。因为要用到循环,所以要是一个元素一个元素的赋值可不行。所以给出例子吧!  cs代码:using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page {    public double[] la = new double[25]; //定义为公共数组    public double[] ln = new double[25];    public int[] id = new int[25];    public int k1 = 0;  //定义为公共,用于赋值循环    protected void Page_Load(object sender, EventArgs e)    {        string mycnnConnectionString1 = System.Configuration.ConfigurationManager.AppSettings["strcon"].ToString();    //创建连接字符串        SqlConnection mycnn1 = new SqlConnection(mycnnConnectionString1);        mycnn1.Open();        SqlCommand cmd1 = new SqlCommand("select id,lat,lng from station  ", mycnn1);        SqlDataReader dr1 = cmd1.ExecuteReader();        int k2 = 0;         int k3 = 0;         int k4 = 0;        string buf1 = "";         double buf2 = 0;        double buf3 = 0;         int buf4 = 0;        while (dr1.Read())        {            //lat            buf2 = (double)dr1["lat"];            la[k2] = buf2;            k2++;            //lng            buf3 = (double)dr1["lng"];///数据库读取float型的数据要用double            ln[k3] = buf3;            k3++;            //id            buf4 = (int)dr1["id"];            id[k4] = buf4;            k4++;        }        dr1.Close();        mycnn1.Close();    }}aspx代码:......... <script type="text/javascript">//赋值的代码要写在这里<script type="text/javascript">代码...</script>         var jingdu= new Array();         var weidu=new Array();         var id=new Array();<%   for(int i=0;i<25;i++){  %>            jingdu.push(<%=ln[i]%>);         weidu.push(<%=la[i]%>);         id.push(<%=id[i] %>);  <%    }  %></script>.................也可以这样写:<script type="text/javascript">        var jingdu= new Array();         var weidu=new Array();         var id=new Array();<%   for(int k1=0;k1<25;k1++){  %>            jingdu.push(<%=ln[k1]%>);         weidu.push(<%=la[k1]%>);         id.push(<%=id[k1] %>);// 如果要赋值string类型的数组则需要加双引号//如: nam[<%=k1%>]="<%=name[k1] %>";//或者: nam.push("<%=name[k1] %>");  <%    }  %></script> 最后哈哈 问题就解决

0 1
原创粉丝点击