asp.net如何将后台c#数组传给前台js?
来源: 阅读:745 次 日期:2015-02-27 11:04:41
温馨提示: 小编为您整理了“asp.net如何将后台c#数组传给前台js?”,方便广大网友查阅!

如何把后台的c#数组传给前端的js,所以这个问题困扰了很久,后来在一篇文章中看到解决办法,文章中的方法处理的是定长数组,我现在处理的是不定长的,所以我又在文章的基础上修改了一下。自己亲自的实践了一下并应用在自己的程序中,果然解决了问题。现在结合大牛的文章和我自己的亲身实践来说明一下这个问题是如何解决的。

第一步:定义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代码

<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>

上述代码即为我解决问题所用代码,均已试验通过。

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map