2013-02-11 39 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」