我准备好从一个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。在图片中你会看到目前加载到页面的值是正确的,但是现在阅读它们是错误的。
看起来它越来越从错误类型数据库。沿着这条线的某处,花车被读作int。 – QuentinUK 2013-02-11 15:13:30
我猜想数据库正在使用不同的文化来进行数字格式化。这可能会导致精度损失。 – 2013-02-11 15:45:21
最后我想我发现了什么问题。 在版本中,什么运行良好的数字加载为 global_sites_am [count] .latitud = -44.365644; global_sites_am [count] .longitud = -73.8886; 在错误的版本号码加载像44,3635644。 我该如何解决这个问题? – Rolando 2013-02-11 15:46:08