我正在尝试迭代Model.DataList
,但是,我无法在c#中获得Javascript值'i'。是否可以从c#访问我?
for (var i = 0; i < (@Model.DataList.Count); i++) {
var la = (@Model.DataList[i].Latitude)/1000000;
var lo = (@Model.DataList[i].Longitude)/1000000;
var marker = new google.maps.Marker({
position: {lat: la, lng: lo},
map: map,
title: "Some title",
zIndex: i
});
}
答案 0 :(得分:2)
如果以上代码在View中,您可以使用Json.Encode()
方法将数据对象转换为JavaScript Object Notation(JSON)格式的字符串。
var jsObject = @Html.Raw(Json.Encode(Model.DataList))
然后你可以迭代它
for (var i = 0; i < jsObject.length; i++) {
var la = (jsObject[i].Latitude) / 1000000;
var lo = (jsObject[i].Longitude) / 1000000;
var marker = new google.maps.Marker({
position: {
lat: la,
lng: lo
},
map: map,
title: "Some title",
zIndex: i
});
}
答案 1 :(得分:0)
尝试以下方法可能会对你有用
-script
var list=@Html.Raw(Json.Encode(Model.SomeEnumerable));
for (var i = 0; i < list.length; i++) {
var la = list[i].Latitude/1000000;
var lo = list[i].Longitude/1000000;
var marker = new google.maps.Marker({
position: {lat: la, lng: lo},
map: map,
title: "Some title",
zIndex: i
});}