如何使用自定义方法检索字符串资源并在属性上使用?例如:
public class Friend
{
[Required(ErrorMessage = "Invalid Name")]
[Display(Name = "Friend's name")]
public string Name { get; set; }
}
默认资源提供程序(如果我设置ResourceType
/ ErrorMessageResourceType
)将查找具有公共属性的类,但我的资源文件没有生成的类,它们是纯XML。
我有一个方法ResourceHelper.Get(key)
,它返回我期望的值。如何更改它以使用我的方式检索资源?
答案 0 :(得分:2)
在您的案例中,有几种不同的方法可以尝试。第四种方法听起来很有希望。
http://carrarini.blogspot.com/2010/08/localize-aspnet-mvc-2-dataannotations.html
Approaches to solve the problem:
<强> [EDIT} 强>
为此,您必须动态创建好友对象。这意味着从DynamicObject类继承Friend并实现TryGetMember()和TrySetMember()。这些属性内部适用于Resource对象“HttpContext.GetLocalResourceObject”,并允许您创建具有本地化属性的动态Friend类。之后,您需要实现自定义的ModelBinder来使用它。
这家伙找到了更好的解决方法: - MVC3 ModelBinder for DynamicObject