如何在控制器类中调用模型类

时间:2014-05-23 11:13:46

标签: c# asp.net class asp.net-mvc-4 controller

mvc4

这是我在控制器文件夹中的控制器类

public class UserController : Controller
{
    //
    // GET: /User/
    private static Users _users = new Users();
    public ActionResult Index()
    {
        return View(_users._userList);
    }

    public ActionResult UserAdd()
    {
        return View();
    }
    [HttpPost]
    public ActionResult UserAdd(UserModels userModel)
    {
        _users.CreateUser(userModel);
        return View();
    }

}
  

错误2找不到类型或命名空间名称“用户”

     

错误3找不到类型或命名空间名称“UserModels”

这是模型文件夹中的用户类

 public class Users
    {
        public Users()
        {
            _userList.Add(new UserModels
            {
                FirstName = "birbal ",
                LastName = "kumar",
                Address = "new delhi",
                Email = "example@gmail.com",
                DOB = Convert.ToDateTime("2/11/1991"),
                salary = 8000
            });
         }
    }

这是模型文件夹中的usermodel类

public class UserModels
{
    [DisplayName("First Name")]
    [Required(ErrorMessage="First name is required")]
    public string FirstName { get; set; }
    [Required]
    public string LastName { get; set; }
    public string Address { get; set; }
    [Required()]
    [StringLength(50)]
    public string Email { get; set; }
    [DataType(DataType.Date)]
    public DateTime DOB { get; set;  }
    [Range(100,1000000)] 
    public decimal salary { get; set; }
}

如何删除我的错误

3 个答案:

答案 0 :(得分:4)

您尚未包含模型的命名空间。

恰到好处地点击控制器中的用户类名,然后转到Resolve,并从控制器类中包含其名称空间。

如果你想明确地做,那么你的项目命名空间就像MyProject那样:

using MyProject.Models;


public class UserController : Controller
{
   private static Users _users = new Users();
}

或者您可以使用完全限定名称,如下所示:

public class UserController : Controller
{
  private static MyProject.Models.Users _users = new MyProject.Models.Users();
}

答案 1 :(得分:0)

如果您的模型位于同一项目中,请尝试使用使用语句导入模型文件夹。否则添加模型可用项目的参考。

using Yournamespace.Model;

答案 2 :(得分:0)

您需要添加对包含模型类的程序集的引用,并添加"使用XXXXX"使用模型类的命名空间声明您的文件。