繁体   English   中英

ASP.Net MVC验证本地化不会覆盖浏览器默认语言

[英]ASP.Net MVC Validation Localization Not Overriding Browser Default Language

我已经按照标签的预期进行了本地化工作,但是似乎无法弄清楚为什么未对验证消息进行本地化。 如果我将浏览器默认语言更改为“ es-ES”,则验证消息将以西班牙语显示。 但是,应用程序应该使用我们本地数据库中设置的语言。 例如,在下面的代码中,“影响”的标签已本地化为西班牙语,但是ProductID错误消息以英语显示。 在使用cookie的控制器操作开始时设置区域性。

我还注意到,如果在web.config中将语言设置为西班牙语,则验证消息将使用西班牙语。

这是当前适用于标签的代码,但不适用于验证消息。

我想要的是验证错误消息是西班牙语的标签。

Web.Config中:

<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true" />

查看模型:

[Required(ErrorMessageResourceName = "errProduct", ErrorMessageResourceType = typeof(Resources.ProductSupport.addcallText))]
public Int32? ProductID { get; set; }

[Display(Name = "lblEffect", ResourceType = typeof(Resources.ProductSupport.addcallText))]
public IEnumerable<SelectListItem> Impacts { get; set; }

视图:

@Html.ValidationMessageFor(x => x.ProductID)

@Html.LabelFor(x => x.Impacts)

在Global.asax.cs文件中设置区域性似乎可行。

protected void Application_AcquireRequestState(object sender, EventArgs e)
{
    LanguageHelper.SetCulture(null);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM