【问题标题】:ASP.NET MVC 3 localized validation messages work on my machine, but not on serverASP.NET MVC 3 本地化验证消息在我的机器上有效,但在服务器上无效
【发布时间】:2012-03-09 15:10:22
【问题描述】:

我在 ASP.NET MVC 3 表单中使用本地化验证消息。它正确地生成 HTML 像

<input class="inputlong" data-val="true" 
   data-val-length="Das Feld &amp;quot;Adresse&amp;quot; muss eine Zeichenfolge mit
                  einer maximalen L&amp;#228;nge von 100 sein." 
   data-val-length-max="100" 
   data-val-required="Das Feld &amp;quot;Adresse&amp;quot; ist erforderlich." 
   id="Address" name="Address" type="text" value="" 
/>

当我将 CurrentThread 设置为英语、德语或意大利语 CultureInfo 时,在我的机器上可以正常工作。

但它不适用于另外两台开发人员机器和一台 Windows Server 2008 R2 测试机器(相同的项目,相同的设置:我什至安装了 ASP.NET MVC 3 Tools Update Language包),但我仍然只收到英文验证消息:

 <input class="inputnormal input-validation-error" data-val="true" 
     data-val-length="The field Adresse must be a string with a maximum length of 100." 
     data-val-length-max="100" data-val-required="The Adresse field is required." 
     id="Address" name="Adresse" type="text" value=""
 />

我不知道的其他计算机上是否有设置或缺少某些程序集?

【问题讨论】:

  • 您是使用默认验证字符串还是有自己的资源?
  • @linkerro 我正在使用默认字符串。我虽然使用本地化显示名称
  • 如何设置当前文化?使用 web.config 全球化或其他方式?
  • @archil 我在基本控制器中的每个请求上都设置了当前线程的文化信息(根据用户的选择)。就像我在问题中所说的那样:它在我的开发机器上完美运行。
  • @splattne 在我的回答中,我的意思是在其他开发者和服务器机器上安装语言包。直到安装它也不能在我的开发机器上工作。

标签: asp.net-mvc-3 localization


【解决方案1】:

您可能需要安装 .net framewok 语言包。例如,在我安装 German language pack 之前,我的机器上的验证消息不会以德语显示。

Required 属性不是 asp.net-mvc 的一部分,而是更通用的 DataAnnotations,因此语言包应该有所帮助。

【讨论】:

    【解决方案2】:

    这是“几年后”,但我愿意为此付出 2 美分。我最近遇到了同样的问题,但使用的是当前技术堆栈:VS 2015、MVC 5、.NET 4.6;我们正在墨西哥开发,语言混淆包含一些验证错误消息(大部分是西班牙语,少数是英语)。

    我找到了这个 SO 答案,但它对我的情况没有帮助,因为当我尝试安装 .NET 语言包时,安装程​​序会向我抛出 “您安装了更新的版本” 消息和安装停止!

    我解决此问题的方法是为我们的项目安装带有 Nuget 的 MVC 语言包:Microsoft.AspNet.Mvc.es(显然,所有 Microsoft 支持的语言都有本地化包:只需将 .es 替换为您自己的语言,例如 @987654323 @ 德语)。之后,我们的应用程序在没有任何进一步配置的情况下以西班牙语显示所有验证错误。

    我希望这可以帮助遇到同样问题的人。

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      相关资源
      最近更新 更多