我想在 mvc 4 应用程序中创建一个注册表单。所以,当用户注册时,我想定义用户的状态(他是否是程序员)并根据用户的选择动态显示(或隐藏)一些额外的字段来填充。
在默认情况下,如果用户不是程序员(通过取消选中复选框字段),所有字段似乎都隐藏了Language、Site 和 Probation字段。我的注册模型是这样的:
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "*", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "*")]
public string ConfirmPassword { get; set; }
[Display(Name = "Profession")]
public bool IsProgrammer { get; set; }
[Required]
[Display(Name = "Language")]
public string Language { get; set; }
[Required]
[Display(Name = "Site")]
public string Site { get; set; }
[Required]
[Display(Name = "Probation")]
public string Probation { get; set; }
}
如果用户是程序员,Language、Site 和 Probation 字段是必填项,用户必须填写。
我应该如何创建注册模型,如果用户不是程序员,不需要语言、站点和试用字段并让注册?
我的第二个问题是,当复选框被选中(未选中)时,如何动态显示(隐藏)字段?