在MVC中添加许多值ListBox

时间:2012-03-01 10:01:30

标签: asp.net-mvc asp.net-mvc-3 entity-framework

我正在使用mvc-viewmodel EF Model First。

当用户要从ListBox添加多个值时,我遇到了问题,我的应用程序应该保存所有选定的值。截至目前,即使用户从我的ListBox中选择了多个值,也只会将第一个值保存到我的数据库中。 Person应该能够拥有多个属性

这是我存储我的人的存储库:

public void addPerson(Person p)
    {
        db.Person.AddObject(p);
        db.SaveChanges();
   }

这是控制器动作获取和发布:

 public ActionResult Create()
    {          
        CreateViewModel model = new CreateViewModel();
        List<Attribute> attribut = _rep.getallA();
        List<Skills> skills = _rep.getallS();
        model.Attribute = new SelectList(Attribute, "AID", "Aname");
        model.Skills = new SelectList(Skills, "SID", "Sname");

        return View(model);
    } 


 [HttpPost]
    public ActionResult Create(CreateViewModel model)
    {
        if (ModelState.IsValid)
        {
            Person p = new Person();

          var SkillsID = int.Parse(model.Sname);
          var AttributeID = int.Parse(model.Aname);
          var getallS = Arep.getbysid(SkillsID);
          var getallA = Arep.getbyaid(AttributeID);

          p.Skills.Add(getallS);
          p.Attribute.Add(getallA);
          p.PersonName = model.PersonName;
          Arep.addquestion(q);


            return RedirectToAction("Create");
        }
        return View(model);

这是我观点的一部分:

<div class="editor-field">

    @Html.DropDownListFor(model => model.Aname,Model.Attribute)
    @Html.ValidationMessageFor(model => model.Aname)

0 个答案:

没有答案