将c#datatable传递到javascript多维数组列表中
Passing c# datatable into javascript multi dimentional array list
我需要以以下格式将数据表从asp.net c#传递给java脚本。
var markers = [
{
"title": 'Campbell Donald',
"lat": '35.821201',
"lng": '-78.703884',
"description": '3100 Blue Ridge Rd,Raleigh,NC,27612'
},
{
"title": 'Hoffman Byron',
"lat": '35.723053',
"lng": '101.7061447',
"description": '421 N Holly Ave,Siler City,NC,27344'
},
{
"title": 'Jalan Intan (Gombak)',
"lat": '3.22317',
"lng": '101.71588',
"description": 'Jalan Intan (Gombak), Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur, 53100'
},
{
"title": 'Jalan Madrasah',
"lat": '3.218515',
"lng": '101.717801',
"description": 'Jalan Madrasah, Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur, 53100'
}
];
我试图通过我的代码以这种方式分配标记变量。
DataTable dthcp = dbUtil.getHcpbyMapdistance();
var serializer = new JavaScriptSerializer();
StringBuilder sb = new StringBuilder();
sb.Append("<script>");
sb.Append("var markers = [];");
foreach (object dataRow in dthcp.Rows)
{
sb.Append("markers.push('" + string.Format("var jsArray = {0}", serializer.Serialize(dataRow)) + "');");
}
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "TestArrayScript", sb.ToString(),true);
我的java脚本部分
var markers = [];
window.onload = function () {
var mapOptions = {
center: new google.maps.LatLng(markers[1].lat, markers[1].lng),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
var infoWindow = new google.maps.InfoWindow();
for (i = 1; i <= markers.length; i++) {
var data = markers[i - 1]
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new MarkerWithLabel({
position: myLatlng,
map: map,
title: data.title,
labelContent: i,
labelAnchor: new google.maps.Point(6, 34),
labelClass: "labels", // the CSS class for the label
labelInBackground: false
});
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);
});
})(marker, data);
}
}
请帮我渡过难关。提前谢谢。
基本上,您要查找的是JSON,而不是javascript数组。
您可以使用JavaScriptSerializer
类:
using System.Web.Script.Serialization;
var json = new JavaScriptSerializer().Serialize(obj);
我还建议您对这种类型的请求使用web方法或通用http处理程序。
相关文章:
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 从javascript中的数组列表中获取值
- 将C#数组列表传递给Javascript
- 如何在 Javascript 中将字符串数组列表插入到表行中
- 如何迭代json对象的嵌套属性并创建新的数组列表
- 从数组列表中返回唯一的数组
- 如何使用jQuery将类名添加到对象属性的数组列表中
- 我可以在HTML中制作一个可调整的数组列表吗
- 对象的数组列表的Javascript排序列表-基于特定的数组列表
- 如何使用ajax调用获取数组列表数据(将数组列表数据控制器传递给ajax方法)
- 如何在jquery中将数组列表分解为两个变量
- 从数组列表中随机选择一个段落 Javascript
- 如何使用angularjs数组列表传递到服务器
- 带有最小和最大数字的增量数组列表
- 从可观察数组列表中删除元素
- 如何在 javascript 中的数组列表中获取数组中的值
- 在 Javascript 中搜索数组列表的项
- tp 如何解析在 webmethod中用数组列表返回的 Json 结果
- 带有单选按钮和复选框的 jQuery 切换数组列表