首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >griffin.mvccontrib包在asp.net中的服务器错误

griffin.mvccontrib包在asp.net中的服务器错误
EN

Stack Overflow用户
提问于 2013-02-05 09:25:17
回答 1查看 240关注 0票数 2

为了能够用资源文件在我的模型中转换我的数据注释,我看到许多人推荐贾格芬提供的解决方案。

但是,当我遵循本地化教程时,我的项目无法启动。

有问题的代码是这个代码,它应该放在Global.asax.cs文件中:

代码语言:javascript
复制
ModelValidatorProviders.Providers.Add(
  new LocalizedModelValidatorProvider(stringProvider)
);

它说LocalizedModelValidatorProvider构造函数不带任何参数,其他教程也显示了这一点。

但当我像这样改变台词时:

代码语言:javascript
复制
ModelValidatorProviders.Providers.Add(
  new LocalizedModelValidatorProvider()
);

我在浏览器中得到以下错误:

尝试以与数组不兼容的类型访问元素。 描述:在执行当前web请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。 异常详细信息: System.ArrayTypeMismatchException:试图以与数组不兼容的类型访问元素。

griffin.mvccontrib包是在Visual 2012下用NuGet安装的。知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 14:07:09

你可能会发现此链接很有用

以下是我如何在上面的链接中进行注册:

代码语言:javascript
复制
ResourceStringProvider myResouceFile = new ResourceStringProvider(ModelsResources.ResourceManager);
//ModelsResources is my resource file generated class
GriffinStringsProvider griffinStringsProvider = new GriffinStringsProvider(myResouceFile);
ValidationMessageProviders.Clear();
ValidationMessageProviders.Add(griffinStringsProvider);

ModelMetadataProviders.Current = new LocalizedModelMetadataProvider(myResouceFile);
ModelValidatorProviders.Providers.Clear();
ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider());

确保包含正确的程序集。

代码语言:javascript
复制
using System.Resources;
using Griffin.MvcContrib.Localization;
using Griffin.MvcContrib.Localization.ValidationMessages;

也是资源文件的程序集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14704014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档