ASP.NET,如何将后台的一维数组的值传给前台的数组?? 5C

让前台的数组和后台数组一样即可,我试了<%=%>这种方法,不行,有没有谁遇到过相似的问题,求帮助下。

2个回答

第一步:定义cs数组

cs文件里后台程序中要有数组,这个数组要定义成公共的数组。

public string[] lat = null;

public string[] lng = null;

第二步:给cs数组赋值

cs数组的值一般都是从数据库中取到的。

第三步:将cs数组赋给前端的js数组

这个步骤是关键,我选用的方法就是<%=cs数组%>。赋值会用到循环,即会一个元素一个元素的赋值。

后台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;//存放经度值

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;

}

aspx前台页面代码 :

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])); }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐