MVC3的资源文件命名问题-不是自动生成代码隐藏



我有一个使用Razor的MVC3应用程序。我想为各种语言本地化应用程序,所以我添加了一个App_LocalResources文件夹,并添加了如下资源文件:

Index_cshtml.en-US.resx
Index_cshtml.en-GB.resx

但是,当我将资源文件上的代码生成设置为public时,代码文件已创建,但为空。如果我将文件重命名为Index_chtml_en-GB.resx,它会自动正确生成代码隐藏,因此看起来MVC无法处理其命名约定中的".en GB"或".en US"。然而,这并不是ASP.NET应用程序根据区域性集知道要使用哪个资源文件的关键方法。

我已经在ASP.NET Web表单应用程序中使用过无数次了,它与MVC不同吗?

对于这样的问题,迭代方法可能效果最好。首先,你可能想尝试(注意使用.而不是_)

Index.cshtml.resx

一旦成功,就试试

Index.cshtml.en.resx or Index.cshtml.en-US.resx

最新更新