【发布时间】:2016-12-16 22:02:48
【问题描述】:
我是 ASP.NET 和全球网络编程的新手。
我正在尝试为工作申请制作网络应用程序。我设法保存了申请人姓名、邮件等,但现在我遇到了复选框问题。每个申请人都应该拥有包含申请人技能列表(如 Java、JavaScript 等)的 Skills 属性。
在我的表格中,每项技能都应该有一个复选框,但我无法做到。
到目前为止我有这个:
我的模特:
public class Applicant
{
[Key]
public int ID { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public string Email { get; set; }
[DataType(DataType.MultilineText)]
public string Letter { get; set; }
[EnumDataType(typeof(Sex))]
public Sex Gender { get; set; }
[EnumDataType(typeof(Pos))]
public Pos Position { get; set; }
public enum Sex
{
[Display(Name = "Male")] Male = 1,
[Display(Name = "Female")] Female = 2
}
public enum Pos
{
[Display(Name = "Front-end")] Frontend = 1,
[Display(Name = "Back-end")] Backend = 2,
[Display(Name = "Tester")] Tester = 3,
[Display(Name = "System administrator")] SysAdmin = 4,
[Display(Name = "Project manager")] ProjMan = 5,
[Display(Name = "Database specialist")] Database = 6,
}
[Display(Name = "Candidate skills: ")]
public List<Skills> SkillList { get; set; }
public static List<Skills> getSkills()
{
List<Skills> skills = new List<Skills>()
{
new Skills() { ID = 1, skillName = "Java", isChecked = false },
new Skills() { ID = 2, skillName = "JavaScript", isChecked = false },
new Skills() { ID = 3, skillName = "PHP", isChecked = false },
};
return skills;
}
}
public class Skills
{
[Key]
public int ID { get; set; }
public string skillName { get; set; }
public bool isChecked { get; set; }
}
在控制器中我得到错误
" 不能隐式转换类型 'System.Collections.Generic.List jobAppForm.Models.Skills' 到 'System.Collections.Generic.List jobAppForm.Models.Applicant'"
我的控制器:
// GET
public ActionResult Create()
{
List<Applicant> model = new List<Applicant>();
model = Applicant.getSkills();
return View(model);
}
所以我有创建视图,其中包含 FName、LName.... 的文本框和 Gender 和 Position 的下拉列表。
我想不通的是如何显示每个技能的复选框并将数据保存到数据库。
【问题讨论】:
-
首先,您的申请者.GetSkills() 返回一个技能列表,但您正试图将其分配给控制器中的申请者列表。
-
model = new Applicant(); model.SkillList = Applicant.getSkills(); return View(model);
标签: asp.net-mvc checkbox checkboxlist