如何把后臺(tái)的c#數(shù)組傳給前端的js,所以這個(gè)問題困擾了很久,后來(lái)在一篇文章中看到解決辦法,文章中的方法處理的是定長(zhǎng)數(shù)組,我現(xiàn)在處理的是不定長(zhǎng)的,所以我又在文章的基礎(chǔ)上修改了一下。自己親自的實(shí)踐了一下并應(yīng)用在自己的程序中,果然解決了問題?,F(xiàn)在結(jié)合大牛的文章和我自己的親身實(shí)踐來(lái)說(shuō)明一下這個(gè)問題是如何解決的。
第一步:定義cs數(shù)組
cs文件里后臺(tái)程序中要有數(shù)組,這個(gè)數(shù)組要定義成公共的數(shù)組。
public string[] lat = null;
public string[] lng = null;
第二步:給cs數(shù)組賦值
cs數(shù)組的值一般都是從數(shù)據(jù)庫(kù)中取到的,相信大家也都會(huì),且后邊的代碼中也會(huì)有描寫,這里就不做詳細(xì)的解釋。
第三步:將cs數(shù)組賦給前端的js數(shù)組
這個(gè)步驟是關(guān)鍵,我選用的方法就是<%=cs數(shù)組%>。這樣模糊的說(shuō)法也是百度得到的,賦值會(huì)用到循環(huán),即會(huì)一個(gè)元素一個(gè)元素的賦值。
后臺(tái)cs代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
using System.Collections;
public partial class VideoSource : System.Web.UI.Page
{
public string[] lat = null;//存放緯度值
public string[] lng = null;//存放經(jīng)度值
public int lng_len = 0;//用于獲得數(shù)組長(zhǎng)度
public int k = 0;//用于賦值循環(huán)
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;
}
aspx代碼
<script type="text/javascript">
var jingdu = new Array();
var weidu = new Array();
<%
for(int k=0;k<lng_len;k++){
%>
jingdu.push("<%=lng[k]%>");
weidu.push("<%=lat[k]%>");
<%
}
%>
var latlng=[];
for(var i=0;i<jingdu.length;i++){
latlng.push(new google.maps.LatLng(jingdu[i],weidu[i]));
}
</script>
上述代碼即為我解決問題所用代碼,均已試驗(yàn)通過。
更多信息請(qǐng)查看IT技術(shù)專欄