我们在 MVC4 中创建一个 Windows Azure 网站,我们使用数据注释来设置显示名称并验证输入字段。这是一个多语言页面,因此我们取消资源文件进行翻译。
[Display(ResourceType = typeof(GlobalResource), Name = "LitZip")]
[Required(ErrorMessageResourceType = typeof(GlobalResource), ErrorMessageResourceName = "ErrRequiredZip")]
public string ZIP { get; set; }
本地一切都很完美。在 windows azure 上上传也都显示正常,但验证后的错误未翻译。当我返回 CurrentCulture 时,它已正确设置为德语。我们使用自定义工具“PublicResXFileCodeGenerator”来生成资源文件。
希望任何人都可以帮助我们解决这个问题。
提前致谢!
亲切的问候
编辑: 区域性由过滤器属性设置,如下所示:
var culture = new CultureInfo("de-de");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
编辑2013年5月2日:
我目前正在 ActionFilterAttribute 中设置区域性。当我在 web.config 文件中设置区域性时,一切正常。
<globalization culture="de-DE" uiCulture="de-DE" />
尽管如此,我需要能够为用户更改运行时的文化。也许 ActionFilterAttribute 这里的位置错误?我需要访问 cookie 数据..
最佳答案
将此行添加到 Web.Config 文件中。
<globalization uiCulture="auto:ru-RU" culture="auto:ru-RU" requestEncoding="utf-8" responseEncoding="utf-8"/>
关于asp.net-mvc - 在 Azure 中使用 DataAnnotations 进行验证显示错误的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306833/