MVC注册和登录模型 - 多少?

时间:2016-07-19 06:56:21

标签: c# asp.net-mvc

我创建了一个"注册新用户表单" ,这使用以下模型:

namespace FREELANCER.Models
{
    [Bind(Exclude = "UserID")]
    public class UserModel
    {
        [ScaffoldColumn(false)]
        public int UserID{ get; set; }

        [Display(Name = "Fornavn")]
        [Required(ErrorMessage = "Skriv venligst dit fornavn", AllowEmptyStrings = false)]
        [RegularExpression(@"(^[a-zA-Z æøåÆØÅ]{0,25}$)", ErrorMessage = "Fornavn skal bestå af 2-25 bogstaver")]
        public string FirstName { get; set; }

        [Display(Name = "Efternavn")]
        [Required(ErrorMessage = "Skriv venligst dit efternavn", AllowEmptyStrings = false)]
        [RegularExpression(@"(^[a-zA-Z æøåÆØÅ]{0,25}$)", ErrorMessage = "Efternavn skal bestå af 2-25 bogstaver.")]
        public string LastName{ get; set; }


        [Display(Name = "Telefonnummer")]
        [RegularExpression("(^[0-9]{8}$)", ErrorMessage = "Telefon skal bestå af 8 tal.")]
        public string Phone{get; set; }

        [Display(Name = "Kodeord")]
        [Required(ErrorMessage = "Skriv venligst et kodeord", AllowEmptyStrings = false)]
        [DataType(DataType.Password)]
        [StringLength(8, MinimumLength = 4, ErrorMessage = "Kodeordet skal mindst bestå af 4-8 karakter.")]
        public string Password { get; set; }

        [Display(Name = "E-mailadresse")]
        [Required(ErrorMessage = "Skriv venligst din e-mailadresse", AllowEmptyStrings = false)]
        [EmailAddress(ErrorMessage = "Ugyldig e-mailadresse")]
        [Remote("DoUserExist","Home",ErrorMessage = "E-mail already in use")]
        [DataType(DataType.EmailAddress)]
        public string Emailaddress{ get; set; }

        [Display(Name = "By")]
        [Required(ErrorMessage = "Vælg en by", AllowEmptyStrings = false)]
        public int CityID { get; set; }

        public int EmailID { get; set; }

        [Display(Name = "Nyhedsbrev")]
        public bool SubscribeToNewsletter{ get; set; }

        [ScaffoldColumn(false)]
        public DateTime UserCreated{ get; set; }

    }
}

现在我想制作一个登录表格,必须是:

文本框(电子邮件地址) 文本框(密码) Subtmit_button

我应该为它制作新模型还是使用UserModel?

public class LoginModel
{
public string Emailadress {get ; set ;}
public string Password {get ; set ;}
}

MVC模型概念混淆了我的很多,PLZ帮助!

1 个答案:

答案 0 :(得分:0)

你应该为这项工作建模: 1)一个用于映射到数据库表 2)一个为您的观点

如果您正在使用EF,则使用您的UserModel类生成数据库表,或者如果您使用ADO.net使用此表执行CRUD操作,并创建另一个UserViewModel,则UserViewModel类应该只包含您需要的字段图。

在BL层中,您可以根据您的要求实现任何代码来映射UserModel和UserViewModel的对象。