如何将自定义资源提供程序与属性一起使用
本文关键字:属性 一起 程序 自定义 资源 | 更新日期: 2023-09-27 17:55:50
如何使用
自定义方法来检索字符串资源并用于属性?例如:
public class Friend
{
[Required(ErrorMessage = "Invalid Name")]
[Display(Name = "Friend's name")]
public string Name { get; set; }
}
默认资源提供程序(如果我设置了ResourceType
/ErrorMessageResourceType
)将查找具有公共属性的类,但我的资源文件没有生成的类,它们是纯XML。
我有一个方法ResourceHelper.Get(key)
它返回我期望的值。如何更改它以使用我检索资源的方式?
这里有几种不同的方法可以在您的情况下进行尝试。第四种方法听起来很有希望。
http://carrarini.blogspot.com/2010/08/localize-aspnet-mvc-2-dataannotations.html
Approaches to solve the problem:
- 编写自定义生成提供程序,它编译来自数据库。
- 创建一个动态对象,该对象将属性名称转换为键为资源管理器。
- 扩展数据的属性附注。
- 使用 T4 模板生成包含资源的类。
[编辑}
- 对于您关于动态的问题对象
为此,您必须动态创建友元对象。这意味着从 DynamicObject 类继承 Friend 并实现 TryGetMember() 和 TrySetMember()。这些属性在内部处理资源对象"HttpContext.GetLocalResourceObject",并允许您使用本地化属性创建动态 Friend 类。之后,您需要实现自定义模型绑定器以使用环绕它。
这家伙找到了更好的解决方法:- MVC3 ModelBinder for DynamicObject