如何从C#代码访问Javascript中的值?

时间:2017-09-07 09:44:31

标签: javascript c# asp.net-mvc

我正在尝试迭代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
   });
}

2 个答案:

答案 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
 });}