当用到.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>
最后哈哈 问题就解决
C#数组赋值给JS数组————后台CS数据赋值给前台JS数组
最新推荐文章于 2021-07-12 08:01:45 发布