Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# I18N呈现为EN-US而非中性文化_C#_Asp.net Mvc_Razor_Internationalization - Fatal编程技术网

C# I18N呈现为EN-US而非中性文化

C# I18N呈现为EN-US而非中性文化,c#,asp.net-mvc,razor,internationalization,C#,Asp.net Mvc,Razor,Internationalization,我正在使用MVC4、C和Razor构建一个网站,但在实现国际化方面遇到了问题 在跟随国际化博客之后,我成功地实现了90%的英语上下文正确。但是,我在下面的错误视图示例代码中遇到了资源问题 <h1 class="grey lighter smaller"> <span class="blue bigger-125"> <i class="icon-warning-sign"></i> @Resources.ErrorMessa

我正在使用MVC4、C和Razor构建一个网站,但在实现国际化方面遇到了问题

在跟随国际化博客之后,我成功地实现了90%的英语上下文正确。但是,我在下面的错误视图示例代码中遇到了资源问题

<h1 class="grey lighter smaller">
  <span class="blue bigger-125">
    <i class="icon-warning-sign"></i>
      @Resources.ErrorMessage
  </span>
</h1>
我有一个helper中的代码,如果在下面的数据库示例中不存在文化的第二部分,那么它就意味着去掉文化的第二部分,例如“us”

public static string GetNeutralCulture(string name)
{
  if (name.Length > 2)
  {
    return name;
  }

  return name.Substring(0, 2);
}
综上所述,我了解到该网站无法将该语言转换为“en-us”,因为数据库中不存在该语言的数据。但这并不能解决为什么在我指定将语言剥离为帮助器中的中性文化(如果不支持)时,它会将其转换为“us”。由于我不知道如何纠正这个问题,有人能给我一些建议吗


哦,我已经检查了母版页,以确保网站的主要语言设置正确,从而判断这可能是一个问题。

今天早上回到工作岗位后,我再次检查了上述问题。问题不在于我的代码,而在于主web.config文件缺少一个关键元素

当遇到错误时,它将通过下面web.config文件的customErrors部分重定向用户,然后将其相应地传递给控制器

<customErrors mode="On" defaultRedirect="/ServerError?">
  <error statusCode="401" redirect="/InvalidUser?" />
  <error statusCode="403" redirect="/InvalidUser?" />
  <error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
资料来源:

<customErrors mode="On" defaultRedirect="/ServerError?">
  <error statusCode="401" redirect="/InvalidUser?" />
  <error statusCode="403" redirect="/InvalidUser?" />
  <error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
<globalization
  enableClientBasedCulture="true"
  requestEncoding="utf-8"
  responseEncoding="utf-8"
  culture="en"
  uiCulture="en"/>