我想在实体框架中插入多个具有相同名称的输入。 我试试这个但不行的
模型
public class Skill
{
[Key]
public int skill_id { get; set; }
public string skill_name { get; set; }
}
查看
@model WebApplication1.Models.Skill
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<input type="text" name="skill_name[0]" id="skill_name[0]" />
<input type="text" name="skill_name[1]" id="skill_name[1]" />
<input type="submit" value="Submit" />
}
控制器
ProductContext db = new ProductContext();
[HttpPost]
public ActionResult Save(IList<Skill> skills)
{
foreach (var item in skills)
{
db.Skills.Add(skills);
db.SaveChanges();
}
return RedirectToAction("index");
}
的DbContext
public class ProductContext : DbContext
{
public DbSet<Skill> Skills { get; set; }
}
我该怎么办? 我找到了这个 https://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/ 但本教程没有插入
的控制器示例答案 0 :(得分:1)
更改
public string skill_name { get; set; }
到
public string[] skill_name { get; set; }
然后按如下所示更改Save
操作方法
[HttpPost]
public ActionResult Save(Skill skills)
{
foreach (var skillName in skills.skill_name)
{
Skill skill = new Skill();
skill.skill_name = skillName;
db.Skills.Add(skill);
db.SaveChanges();
}
return RedirectToAction("index");
}