加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 在C#中将MetadataType添加到派生类

发布时间:2020-12-16 03:26:25 所属栏目:asp.Net 来源:网络整理
导读:我有一个名为的班级 public partial class Contact{ public int Id { get; set; } public string Title { get; set; } public string FirstName { get; set; } public string LastName { get; set; }} 我有另一个叫做的课 public partial class Person : Con
我有一个名为的班级

public partial class Contact
{
   public int Id { get; set; }
   public string Title { get; set; }
   public string FirstName { get; set; }
   public string LastName { get; set; }
}

我有另一个叫做的课

public partial class Person : Contact
{
   public string Occupation { get; set; }
   public string Country { get; set; }
}

我有第三个名为Person的类,它被声明为Partial,第四个类叫做PersonMetaData,用于声明注释

[MetadataType(typeof(PersonMetadata))]
    public partial class Person : Contact
    {

    }

    public class PersonMetadata
    {
         [StringLength(20,ErrorMessageResourceName = "FirstNameLength",ErrorMessageResourceType = typeof(BasicErrors))]
        [Required(ErrorMessageResourceName = "FirstNameRequired",ErrorMessageResourceType  = typeof(BasicErrors))]
        public string FirstName { get; set; }

        [StringLength(20,ErrorMessageResourceName = "LastNameLength",ErrorMessageResourceType = typeof(BasicErrors))]
        [Required(ErrorMessageResourceName = "LastNameRequired",ErrorMessageResourceType 
         = typeof(BasicErrors))]
        public string LastName { get; set; }
    }

在我的MVC视图中,我创建了一个基于Person的强类型页面?问题是,必需和字符串长度验证不起作用.继承类并创建部分类以引用MetadataType时会发生此问题.

如果没有继承,那么MetadataType在调用Partial Class时工作正常.

将MetadataType用于派生类并使用partial的任何解决方案?

谢谢

解决方法

这是MVC2中的问题.但它适用于MVC3.请参阅以下文章:

http://connect.microsoft.com/VisualStudio/feedback/details/538360/asp-net-mvc-2-rc2-the-client-side-validation-does-not-work-with-overridden-properties

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读