我想实现一个简单的员工注册,员工输入他的名字并使用复选框列表选择他的技能组合,当用户点击提交按钮时我必须发布这些数据
问题是我想使用@html.Checkbox
而不是input type="checkbox"
我需要在post
方法
我按照预期使用input type =“复选框”创建了视图,但我对此不满意。
这是我尝试过的代码。
类
public class Employee
{
public string Name { get; set; }
[Display(Name="Select your Skills")]
public IList<string> Proficiency { get; set; }
}
public class SkillSet
{
public int ID { get; set; }
public string Skill { get; set; }
public bool Selected { get; set; }
}
public ActionResult Register()
{
IEnumerable<SkillSet> langset = new List<SkillSet> {
new SkillSet{ID=1,Selected=true,Skill="ASP.NET"},
new SkillSet{ID=2,Selected=false,Skill="JAVA"},
new SkillSet{ID=3,Selected=false,Skill="PHP"},
new SkillSet{ID=4,Selected=false,Skill="JQUERY"},
new SkillSet{ID=5,Selected=false,Skill="SQL"}
};
Employee emp = new Employee();
ViewBag.Language = langset;
return View(emp);
}
HTML
@Html.LabelFor(model=>model.Name)
@Html.EditorFor(model=>model.Name)
@Html.DisplayNameFor(model=>model.Proficiency)
@foreach (var item in EmpSkill)
{
<input type="checkbox" value="@item.Skill" name="@Model.Proficiency" checked="@item.Selected" />@item.Skill
}
<input type ="submit" value="Finish" />
请提供解决方案。