C# – The type or namespace Compare could not be found (are you missing a using directive or an assembly reference?)

asp.net-mvc, c++

I'm trying to add an Admin to my site.
There issue is found on my AccountsModels.cs

It simply has to compare the data implemented but I seem to get this error.

I also have a view with:
-Register.cshtml
-LogOn.cshtml
-ChangePasswordSuccess.cshtml
-ChangePassword.cshtml

& an AccountController.cs of course..

Someone know a solution?

Here is the code:

using System.ComponentModel.DataAnnotations;using System.Web.Mvc;using System.Web.Security;namespace Videoteek.Domain.Models{    public class ChangePasswordModel    {        [Required]        [DataType(DataType.Password)]        [Display(Name = "Current password")]        public string OldPassword { get; set; }        [Required]        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]        [DataType(DataType.Password)]        [Display(Name = "New password")]        public string NewPassword { get; set; }        [DataType(DataType.Password)]        [Display(Name = "Confirm new password")]        [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]        public string ConfirmPassword { get; set; }    }    public class LogOnModel    {        [Required]        [Display(Name = "User name")]        public string UserName { get; set; }        [Required]        [DataType(DataType.Password)]        [Display(Name = "Password")]        public string Password { get; set; }        [Display(Name = "Remember me?")]        public bool RememberMe { get; set; }    }    public class RegisterModel    {        [Required]        [Display(Name = "User name")]        public string UserName { get; set; }        [Required]        [DataType(DataType.EmailAddress)]        [Display(Name = "Email address")]        public string Email { get; set; }        [Required]        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]        [DataType(DataType.Password)]        [Display(Name = "Password")]        public string Password { get; set; }        [DataType(DataType.Password)]        [Display(Name = "Confirm password")]        [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]        public string ConfirmPassword { get; set; }        //****        [Required]        [Display(Name = "Security Question")]        public string PwdQuestion { get; set; }        [Required]        [Display(Name = "Security Answer")]        public string PwdAnswer { get; set; }    }}

Best Solution

From your code it looks like that you want to compare your password with confirm password. If it is so then your attribute

Compare

is not correct. it should be

[CompareAttribute("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]

You already have the desired namespace added in the code. You can read more about it here.