由于要在Silverlight项目中实现一个新用户注册页面,要使用.aspx,于是便尝试使用ASP.NET MVC 2.0。问题是我要在Model中实现本地化多语言,在 Silverlight 中,是这样写的:// System.ComponentModel.DataAnnotations.DisplayAttribute
// 有一个 ResourceType 属性,用来指向存储本地化资源的class
[Required]
[Display(Name = "CompanyName", ResourceType = (typeof(Words)))]
public string CompanyName{ get;set; }
可是在 ASP.NET MVC 2.0,却是使用 System.ComponentModel.DisplayNameAttribute ,没有 ResourceType 属性,不知该如何实现本地化?// System.ComponentModel.DisplayNameAttribute
// 没有 ResourceType 属性,不知该如何实现本地化
[Required]
[DisplayName("公司名称")]
public string CompanyName{ get;set; }PS:仅仅用了半个晚上的 ASP.NET MVC 2.0,感觉是如果说 ASP.NET 是在模拟 WinForm,那 ASP.NET MVC 2.0 就是在模拟 Silverlight、WPF,不过后两者的MVMM模式中的“MM”应是模拟不了的吧。
// 有一个 ResourceType 属性,用来指向存储本地化资源的class
[Required]
[Display(Name = "CompanyName", ResourceType = (typeof(Words)))]
public string CompanyName{ get;set; }
可是在 ASP.NET MVC 2.0,却是使用 System.ComponentModel.DisplayNameAttribute ,没有 ResourceType 属性,不知该如何实现本地化?// System.ComponentModel.DisplayNameAttribute
// 没有 ResourceType 属性,不知该如何实现本地化
[Required]
[DisplayName("公司名称")]
public string CompanyName{ get;set; }PS:仅仅用了半个晚上的 ASP.NET MVC 2.0,感觉是如果说 ASP.NET 是在模拟 WinForm,那 ASP.NET MVC 2.0 就是在模拟 Silverlight、WPF,不过后两者的MVMM模式中的“MM”应是模拟不了的吧。
中有提到这个问题,原来 [Display()] 是.NET 4.0 中才有的啊。
: System.ComponentModel.DisplayNameAttribute
{
public override string DisplayName
{
get
{
return "本地语言" + base.DisplayNameValue;
}
}
public ResourceDisplayNameAttribute():base()
{
}
public ResourceDisplayNameAttribute(string displayName)
: base(displayName)
{
}
}
但是仍然不支持[Display()],只支持[DisplayName()]