本地化/验证-MVC#模型只接受我的默认资源文件,而不是我选择的其他语言

本地化/验证-MVC#模型只接受我的默认资源文件,而不是我选择的其他语言,c#,razor,asp.net-mvc-5,resource-files,C#,Razor,Asp.net Mvc 5,Resource Files,我目前正在尝试使用资源文件从后端模型到razor视图进行验证。我有两种语言设置,(en,fr),但即使选择了法语,错误消息始终是英语 我尝试过多个在线教程/查看其他有类似问题的人,但没有一个修复对我有效 我的viewmodel示例: [必需(ErrorMessageResourceName=“RequiredField”,ErrorMessageResourceType=typeof(GlobalRes))] [显示(Name=“Username”,ResourceType=typeof(Glo

我目前正在尝试使用资源文件从后端模型到razor视图进行验证。我有两种语言设置,(en,fr),但即使选择了法语,错误消息始终是英语

我尝试过多个在线教程/查看其他有类似问题的人,但没有一个修复对我有效

我的viewmodel示例:

[必需(ErrorMessageResourceName=“RequiredField”,ErrorMessageResourceType=typeof(GlobalRes))]
[显示(Name=“Username”,ResourceType=typeof(GlobalRes))]
公共字符串用户名{get;set;}
[必需(ErrorMessageResourceName=“RequiredField”,ErrorMessageResourceType=typeof(GlobalRes))]
[数据类型(数据类型.密码)]
[显示(Name=“Password”,ResourceType=typeof(GlobalRes))]
公共字符串密码{get;set;}
Razor视图:

<div class="form-group">
   @Html.LabelFor(m => m.Username, new { @class = "col-md-12" })
   <div class="col-md-12">
      @Html.TextBoxFor(m => m.Username, new { @class = "form-control" })
      @Html.ValidationMessageFor(m => m.Username, "", new { @class = "text-danger"})
   </div>
</div>

<div class="form-group">
    @Html.LabelFor(m => m.Password, new { @class = "col-md-12" })
    <div class="col-md-12">
       @Html.PasswordFor(m => m.Password, new { @class = "form-control" })
       @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
     </div>
</div>

@LabelFor(m=>m.Username,新的{@class=“col-md-12”})
@TextBoxFor(m=>m.Username,新的{@class=“form control”})
@Html.ValidationMessageFor(m=>m.Username,“,new{@class=“text danger”})
@LabelFor(m=>m.Password,新的{@class=“col-md-12”})
@Html.PasswordFor(m=>m.Password,新的{@class=“form control”})
@Html.ValidationMessageFor(m=>m.Password,“,new{@class=“text danger”})
更改语言并提交表单后,在浏览器中检查html


此字段必填。
此字段必填。
预期结果应该是,根据所选语言,错误消息应该是法语。如果检查输入框,可以看到正确的值以法语添加。提交表单时,您实际上只获得英文值,而不是预期值


提前谢谢你

我也遇到了这个问题,但我找到了一个简单的方法,我添加了这个代码

if (ModelState.IsValid)
{

}
else
{
    ModelState.Clear();
    TryValidateModel(Model);
}

我也有这个问题,但我找到了一个简单的方法,我添加了这个代码

if (ModelState.IsValid)
{

}
else
{
    ModelState.Clear();
    TryValidateModel(Model);
}

我也有同样的问题。对于我来说,将资源文件放入App_GlobalResources文件夹解决了我的问题

如果该文件夹不存在,您可以创建它


我正在Asp.Net MVC应用程序上使用本地化。

我遇到了完全相同的问题。对于我来说,将资源文件放入App_GlobalResources文件夹解决了我的问题

如果该文件夹不存在,您可以创建它

我正在Asp.NETMVC应用程序上使用本地化