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

69 篇文章 0 订阅
 当用到.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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值