asp.net-mvc-3 – 在web.config文件中忽略resourceProviderFactoryType

我一直在尝试在web.config文件中设置自定义resourceProviderFactory,但它总是被忽略,我的web.config文件如下所示

<globalization culture="auto" resourceProviderFactoryType="MyProject.CustomResourceFactory, MyProject"></globalization>

我的CustomResourceFactory类永远不会被触发,永远不会在构造函数中设置断点.

拼写错误在全球化部分中的类名称不会引起任何异常,这是正常的吗?

我在不止一个项目中尝试过这个(认为我正在处理的项目配置错误或者其他什么)但结果相同.

我正在使用C#asp.net MVC3,

有没有人知道为什么会发生这种情况,有没有办法在运行时更改ResourceProviderFactory?

谢谢.

最佳答案 我遇到了同样的问题,并且不太明白你对第一个答案的评论.现在我已经解决了,但我认为我会为其他人详细说明.

http://publicityson.blogspot.ca/2010/11/aspnet-mvc-razor-view-engine-and.html

他创建了帮手,将他的自定义资源称为剃须要求
视图中的ViewContext.HttpContext.GetGlobalResourceObject(classKey,resourceKey)非常长,导致类似于:

public static class CommonHtmlExtensions
{
    public static object GetGlobalResource(this HtmlHelper htmlHelper, string classKey, string resourceKey)
    {
        return htmlHelper.ViewContext.HttpContext.GetGlobalResourceObject(classKey, resourceKey);
    }
    //several other methods.
}

允许他在剃刀视图中使用@ Html.GetGlobalResource(“CommonText”,“Some_ResourceKey”).

在数据注释中保持强类型和可用的东西也非常有用,下面的链接显示了如何使用T4模板为数据库中的每个资源项创建常量.
http://carrarini.blogspot.ca/2010/08/localize-aspnet-mvc-2-dataannotations.html

点赞