如何把C#中数组数据传递到JS中?

2025-05-06 05:41:44
推荐回答(1个)
回答1:

第一种:

//前台:
var jingdu = new Array();  
var weidu = new Array();  
    <%  
      for(int k=0;k    %>  
         jingdu.push("<%=lng[k]%>");  
         weidu.push("<%=lat[k]%>");  
    <%  
      }  
    %>  
    var latlng=[];  
    for(var i=0;i        latlng.push(new google.maps.LatLng(jingdu[i],weidu[i]));  
    }

cs中

public string[] lat = null;//存放纬度值  
    public string[] lng = null;//存放经度值  
    public int lng_len = 0;//用于获得数组长度  
    public int k = 0;//用于赋值循环  
    protected void Page_Load(object sender, EventArgs e)  
    {  
       ArrayList lng_list = new ArrayList();  
       ArrayList lat_list = new ArrayList();  
        OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data/Database1.accdb"));  
        con.Open();  
        string sql = "select * from tb_videos";  
        try  
        {  
            OleDbDataAdapter gh = new OleDbDataAdapter(sql, con);  
            DataSet ds = new DataSet();  
            gh.Fill(ds);  
            con.Close();  
            foreach (DataRow DR in ds.Tables[0].Rows)  
            {  
                lng_list.Add(DR[2].ToString());  
                lat_list.Add(DR[3].ToString());  
            }  
        }  
        catch  
        {  
            con.Dispose();  
        }  
        lng = (string[])lng_list.ToArray(typeof(string));  
        lat = (string[])lat_list.ToArray(typeof(string));  
        lng_len = lng_list.Count;  
    }


第二种:

    前台:

var str= <%=GetData()%>;
//获取到由数组拼接的字符串后自行分割(或可使用split())    
var arr=str.split(',');

后台:

    

public string[] lng = {'aaa','bbb'} ;
public string  GetData()
{
   //这里将数组拼接成字符串
   //例如:以逗号分隔链接
   int i=0;
   string str="";
   for(i=0;i   {
       if((i!=(len.length-1))&&str.length>0)
       {
           str+=",";
       }
       str+=len[i];
   }
   return str;
}