2013-02-11 21 views
0

我准备好从一个php mvc应用程序到asp.net mvc(使用大量的JavaScript和谷歌地图)的端口。该应用程序在我的开发机器上运行得很好(Win 7 + IIS 7)。但问题始于生产服务器。由于某种原因,我有一个JavaScript文件,当我从我的生产服务器上使用它时,它不能很好地工作。 即我有我的观点,我加载所有的数据从数据库和之后,我把它放在一个名为global_sites_am的全局变量数组。数组中的每一行都包含纬度,纵向和名称等属性....之后,此数组将从名为maps.js的js文件中获得。全局Javascript变量的值在momemt得到它是错误的

var position = new google.maps.LatLng(global_sites_am[i].latitud,global_sites_am[i].longitud); 
     addMarker(position,global_sites_am[i].name,i); 

出于某种原因,这一段代码做工精细自己的计算机上,但它没有当我已经安装了生产服务器上的应用程序。

I.E.在开发机:global_sites_am[0].latitud = 45,6789566 and global_sites_am[i].longitud=72,69452015

但是生产机器上:global_sites_am[0].latitud = 45 and global_sites_am[i].longitud=72

什么,我做错了什么?

更新:这是我如何从数据库加载值的JavaScript文件:

global_sites_am[count]=new Object(); 
global_sites_am[count].name='<%=site.Name%>'; 
global_sites_am[count].latitud=<%=site.Latitud%>; 
global_sites_am[count].longitud=<%=site.Longitud%>; 

这是我的属性之一:从Chrome中

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] 
    [DataMemberAttribute()] 
    public global::System.Double Latitud 
    { 
     get 
     { 
      return _Latitud; 
     } 
     set 
     { 
      OnLatitudChanging(value); 
      ReportPropertyChanging("Latitud"); 
      _Latitud = StructuralObject.SetValidValue(value); 
      ReportPropertyChanged("Latitud"); 
      OnLatitudChanged(); 
     } 
    } 

一些调试信息:http://oi49.tinypic.com/2j4q7p4.jpg。在图片中你会看到目前加载到页面的值是正确的,但是现在阅读它们是错误的。

+1

看起来它越来越从错误类型数据库。沿着这条线的某处,花车被读作int。 – QuentinUK 2013-02-11 15:13:30

+1

我猜想数据库正在使用不同的文化来进行数字格式化。这可能会导致精度损失。 – 2013-02-11 15:45:21

+0

最后我想我发现了什么问题。 在版本中,什么运行良好的数字加载为 global_sites_am [count] .latitud = -44.365644; global_sites_am [count] .longitud = -73.8886; 在错误的版本号码加载像44,3635644。 我该如何解决这个问题? – Rolando 2013-02-11 15:46:08

回答

0

最后的问题是使用上的Web.config下一行解决:

全球化的UICulture =“EN-US”文化=“EN-US”