Javascript 部署到IIS的ASP.NET核心应用程序,但部署到IIS的应用程序的纬度和经度没有小数点
我正在通过VisualStudio运行ASP.NET应用程序。纬度和经度数据从SQL Server数据库中检索。当通过VisualStudioLocalHost运行该应用程序时,不会出现任何问题,但当我将其部署到IIS时,显示的数据将不带小数点 数据库中的数据类型是浮点型 TestTable模式类从数据库检索数据Javascript 部署到IIS的ASP.NET核心应用程序,但部署到IIS的应用程序的纬度和经度没有小数点,javascript,asp.net-core,iis,Javascript,Asp.net Core,Iis,我正在通过VisualStudio运行ASP.NET应用程序。纬度和经度数据从SQL Server数据库中检索。当通过VisualStudioLocalHost运行该应用程序时,不会出现任何问题,但当我将其部署到IIS时,显示的数据将不带小数点 数据库中的数据类型是浮点型 TestTable模式类从数据库检索数据 public class TestTable { public int ID { get; set; } public string Product_Descripti
public class TestTable
{
public int ID { get; set; }
public string Product_Description { get; set; }
public int PolicyNo { get; set; }
public string Insured { get; set; }
public string TAB_Ratio { get; set; }
public string Broker_Name { get; set; }
public DateTime Policy_Inception_Date { get; set; }
public string Match { get; set; }
public string Detail_Address { get; set; }
public int Building_SI { get; set; }
public decimal Total_API_Outside { get; set; }
public decimal Rate { get; set; }
public decimal Total_Loss_Ratio { get; set; }
public decimal ThrdParty_Loss_ratio { get; set; }
public decimal ThrdParty_Attritional_Ratio { get; set; }
public double Lat { get; set; }
public double Long { get; set; }
}
Foreach从TestTable检索数据
@{ var mapCounter = 0;}
@foreach (var item in Model.TestTable) {
if(mapCounter < 200)
{
mapCounter++;
<text>
console.log(@item.Lat);
</text>
@:addMarker(@item.Lat, @item.Long, '@item.ID', '@item.Product_Description', '@item.Insured', '@item.TAB_Ratio', '@item.Broker_Name', '@item.PolicyNo', '@item.Match', '@item.Detail_Address', '@item.Building_SI', '@item.Total_API_Outside', '@item.Rate', '@item.Total_Loss_Ratio', '@item.ThrdParty_Loss_ratio', '@item.ThrdParty_Attritional_Ratio');
}
}
有关输出,请参阅控制台
来自VisualStudio的顶部图像。来自IIS服务器的底部图像
先谢谢你
对于有相同问题的人,请注意。问题在于ASP.NET应用程序中的区域设置。默认情况下,它设置为逗号。一个对我有效的解决方法是将值设置为字符串格式,并使用“.”作为分隔符
using System.Globalization;
console.log(@string.Format(CultureInfo.InvariantCulture,"{0:#.#############################}",item.Lat));
console.log(@string.Format(CultureInfo.InvariantCulture,"{0:#.#############################}",item.Long));
这将为应用程序设置区域编号格式,无论机器设置为哪个区域设置。您能提供更多信息吗?例如,您使用什么数据类型在数据库中存储纬度和经度?另外,您能否向我们展示从数据库检索数据的代码,以及任何操作数据的代码?感谢更新。这很奇怪。能否在IIS服务器上“查看源代码”,并向我展示
console.log
部分?我想看看console.log(@item.Lat)是如何运行的代码>实际上正在渲染是的,这很奇怪。我是IIS新手,请您向我解释一下“查看源代码”好吗?啊,对不起,我的意思是尝试在您的浏览器中打开该网站。打开后,右键单击->查看源代码(或在某些浏览器上按ctrl+U)。通过在IIS服务器上查看,我的意思是查看IIS上托管的站点的源代码,而不是本地主机。@Kei,我添加了一个链接来显示IIS服务器的输出。在本地主机上,lat和long以点显示。在IIS服务器上,它似乎以逗号显示。有什么想法吗?谢谢你的帮助。
using System.Globalization;
console.log(@string.Format(CultureInfo.InvariantCulture,"{0:#.#############################}",item.Lat));
console.log(@string.Format(CultureInfo.InvariantCulture,"{0:#.#############################}",item.Long));