Click here to Skip to main content
15,891,708 members
Please Sign up or sign in to vote.
2.00/5 (1 vote)
See more:
I Have Created a MetaDataType Class For validation

C#
public class EmployeeMetaData
    {
       public  string _EmpId;
        [Required(ErrorMessage = "Enter EmployeeId.")]
        [StringLength(5, ErrorMessage = "EmpId Is Not More Then 5 Characters.")]
        public string EmpId
        {
            get
            {
                return _EmpId;
            }
            set
            {
                _EmpId = value;
            }
        }
    }


Now I Create New Class
C#
[MetadataType(typeof(EmployeeMetaData))]
   public class Employee
   {
   }


Now I Want to Use This Employee Class in My aspx page.
I am using the code like
C#
protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Employee objEmployee = new Employee();
                Response.Write(<big>objEmployee.EmpId</big>);
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }


But it is generating an error while i access properties from Object objEmployee.
Please help me how to get it.
Posted
Updated 9-Mar-12 5:14am
v3
Comments
Sergey Alexandrovich Kryukov 9-Mar-12 10:18am    
ASP.NET? Tag it.
--SA
wizardzz 9-Mar-12 10:38am    
You should probably post the error.

MetadataTypeAttribute attribute enables you to associate a class with a data-model partial class. So, create new class as:

C#
[MetadataType(typeof(EmployeeMetaData))]
    public partial class Employee
    {
    }
 
Share this answer
 
Try MetaDataType class without getter and setter as:

C#
public class EmployeeMetaData
{
        [Required(ErrorMessage = "Enter EmployeeId.")]
        [StringLength(5, ErrorMessage = "EmpId Is Not More Then 5 Characters.")]
        public string EmpId;
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900