Home > DeveloperSection > Forums > Model could not be found in MVC
Ankita Pandey
Ankita Pandey

Total Post:183

Posted on    February-04-2013 12:56 AM


 1 Reply(s)
 1586  View(s)
Rate this:

Hi Everyone!

I have included a model and created a view file as well as a controller to direct all of them

public class CreateNewUserModel
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required(ErrorMessage = "Email required")]
    [EmailAddress(ErrorMessage = "Not a valid email")]
    public string UserEmail { get; set; }

    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Confirm password")]
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
    public string ConfirmPassword { get; set; }

    [Display(Name = "Role")]
    public string UserRole { get; set; }
    public IEnumerable<System.Web.Mvc.SelectListItem> UserRoles { get; set; }
On top of the view file

I also have @model CreateNewUserModel

and here is the compilation error I have got

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify

your source code appropriately.

Compiler Error Message: CS0246: The type or namespace name 'CreateNewUserModel' could not be found (are you missing a using directive or an assembly reference?)

 Source Error:  
Line 32:    
Line 33:    
Line 34:     public class _Page_Views_Account_CreateNewUser_cshtml : System.Web.Mvc.WebViewPage<CreateNewUserModel> {
Line 35:        
Line 36: #line hidden

Thanks in advance


Total Post:604

Posted on    February-04-2013 5:47 AM

Hi Ankita Pandey!

You just need to either fully specify the name of the model type or import the namespace for the model.

In View page, required namespace and model name when you used model properties.


@model <namespace>.<class name>

@model ProjectName.CreateNewUserModel


@using ProjectName
@model CreateNewUserModel

Here "ProjectName" is an example that you replace it in which you defined your model class.

I hope it resolve your problem.

Don't want to miss updates? Please click the below button!

Follow MindStick