【问题标题】:Resources in ASP.NET MVC applicationASP.NET MVC 应用程序中的资源
【发布时间】:2016-12-04 01:55:51
【问题描述】:

我创建了 ASP.NET MVC 应用程序,现在我想用我的资源文件的元素替换所有文字。

我在根目录下创建了 App_GlobalResources 文件夹并添加了两个文件:

  • Resources.en-US.resx
  • Resources.es-ES.resx

My app directories

在我看来,我把这个(例如):

<h1>@Resources.MyResource</h1>

但是,我总是看到这个错误:名称“资源”在当前上下文中不存在。

Error message

怎么了?

提前致谢!

【问题讨论】:

  • 展开您的resources files 并打开您的resource.Desinger,cs 文件并查看它的namespace。现在在你的项目中使用这个namespace 来使用resources
  • 另外,检查是否至少有一个文件启用了代码生成并将其设置为公共。
  • 我只能将Resources.en-US 扩展为Resources.en-US.designer.cs 但我什么也看不懂...

标签: asp.net-mvc razor resources


【解决方案1】:

你需要用多种语言定义一个资源

在您的情况下,您必须按名称引用资源

@Resources.en-US.resx.MyResource @Resources.en-ES.resx.MyResource

等等

这是错误的方法

这是一本好书

https://ruijarimba.wordpress.com/2011/05/16/asp-net-mvc-localization-generate-resource-files-and-localized-views-using-custom-templates/

http://www.codeproject.com/Articles/778040/Beginners-Tutorial-on-Globalization-and-Localizati

【讨论】:

    【解决方案2】:

    我关注codeproject.com解决方案http://www.codeproject.com/Articles/778040/Beginners-Tutorial-on-Globalization-and-Localizati)

    但是当我设置文化(通过 ajax 查询通过控制器)时,什么也没有发生:

    [HttpPost]
    [Authorize]
    public JsonResult SetCulture(String cul) {
    
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cul);
        Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cul);
    
        return Json(true, JsonRequestBehavior.AllowGet);
    }
    

    cul 参数 = "es-US"

    谢谢!

    【讨论】:

      【解决方案3】:

      我遵循这个解决方案http://www.ryadel.com/en/setup-a-multi-language-website-using-asp-net-mvc/#Set-up_a_Multi-Language_Route

      我在解决方案的根目录中创建了“资源”文件夹。我添加了 Global.resx 和 Global.en-EN.resx 文件

      但是,当我设置文化时:

      Thread.CurrentThread.CurrentCulture = new CultureInfo(cul);
      

      字符串永远不会改变... :(

      【讨论】:

      • 我注意到在我的视图中,我可以看到

        @Resources.Global.Welcome

        @Resources.Global_en_EN.Welcome

        你不应该只看到一个“全局”ASP.NET 对象并选择文件句柄正确的资源?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      相关资源
      最近更新 更多