我创建了一个"注册新用户表单" ,这使用以下模型:
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帮助!
答案 0 :(得分:0)
你应该为这项工作建模: 1)一个用于映射到数据库表 2)一个为您的观点
如果您正在使用EF,则使用您的UserModel类生成数据库表,或者如果您使用ADO.net使用此表执行CRUD操作,并创建另一个UserViewModel,则UserViewModel类应该只包含您需要的字段图。
在BL层中,您可以根据您的要求实现任何代码来映射UserModel和UserViewModel的对象。