首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中插入多个同名输入?

如何在数据库中插入多个同名输入?
EN

Stack Overflow用户
提问于 2017-11-25 12:32:17
回答 1查看 590关注 0票数 0

我想用实体框架插入同名的多个输入。我试过了,但不管用

模型

代码语言:javascript
复制
public class Skill
    {
       [Key]
        public int skill_id { get; set; }


        public string skill_name { get; set; }
    }

视图

代码语言:javascript
复制
@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" />

}

控制器

代码语言:javascript
复制
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

代码语言:javascript
复制
public class ProductContext : DbContext
    {
        public DbSet<Skill> Skills { get; set; }
    }

我该怎么做?我找到了这个https://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/,但本教程没有提供用于插入的控制器示例

EN

回答 1

Stack Overflow用户

发布于 2017-11-25 15:07:05

变化

public string skill_name { get; set; }

public string[] skill_name { get; set; }

然后更改Save操作方法,如下所示

代码语言:javascript
复制
[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");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47482639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档