【问题标题】:Input string was not in a correct format error on changing server machine更改服务器计算机时输入字符串的格式不正确
【发布时间】:2014-02-21 17:19:09
【问题描述】:

我有这段代码可以像这样从String 解析Int560,000

int.Parse(myTextBox.Text.Trim(), NumberStyles.AllowThousands);

它在我的本地机器上正常工作,但是当我在另一台具有相同 web.config 文化的服务器上安装我的 Web 应用程序时:

<globalization culture="fa-IR" uiCulture="fa-IR" requestEncoding="utf-8" responseEncoding="utf-8" />

出现此错误:

输入的字符串格式不正确

我的本​​地机器 .NET 版本:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.17929

我的新服务器 .NET 版本:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.18408

【问题讨论】:

  • 检查您的 int.Parse 正在哪个进程中执行(它可能不是拥有 web.config 的进程)。使用 System.Threading.Thread.CurrentCulture 检查当前线程的文化。

标签: c# asp.net .net-4.0 webforms int


【解决方案1】:

如果您希望输入特定于文化的格式,只需将其作为参数传递给Int32.Parse

int.Parse(myTextBox.Text.Trim(), 
      NumberStyles.AllowThousands,
      new CultureInfo("fa-IR"));

请注意,如果您的网站可以从多个区域访问,您最好使用用户的文化,而不是硬编码您喜欢的文化。

【讨论】:

  • 同样的错误。没有改变!谢谢你的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2013-08-22
相关资源
最近更新 更多