代码之家  ›  专栏  ›  技术社区  ›  Tassadaque

ASP.net下拉列表未将所选值保存到数据库

  •  0
  • Tassadaque  · 技术社区  · 15 年前

    在下面的代码中,我想将用户从dropdownlist选择的值保存到数据库中。但无论用户选择什么值,下拉式lsit的第一个值都会保存到数据库中

    视图

    <% =Html.DropDownList("lstUsertype", (SelectList)ViewData["UserTypeID"])%>
    

    public ActionResult CreateUser()
            {
                UmUser _UmUser = new UmUser();
                UMRepository _UMRepository = new UMRepository();
                EvoLetDataContext db = new EvoLetDataContext();
                ViewData["UserTypeID"] = new SelectList(_UMRepository.FillUserTypes(), "UserTypeID", "UserType",2);
                return View(_UmUser);
        }
    
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult CreateUser(UmUser _umUser)
        {
            //try
            //{
                if (ModelState.IsValid)
                {
    
                    //try
                    //{
                        UserRepository _UserRepository = new UserRepository();
    
                        _UserRepository.Add(_umUser);
                        _UserRepository.Save();
                        return RedirectToAction("Details", new { id = _umUser.UserID });
                    /*}
                    catch
                    {
                        ModelState.AddModelErrors(_umUser.GetRuleViolations());
                    }*/
                }
    
                return View();
            //}
            /*catch
            {
                return View();
            }*/
        }
    
    1 回复  |  直到 12 年前
        1
  •  0
  •   Andreas    15 年前

    这就是我成功的方法:

    <%= Html.DropDownListFor(model => model.Value, new SelectList(Values, "Key", "Value", Model.Value), "[select]")%>
    

    其中值的类型为IDictionary,值的类型为Guid

    希望这有帮助!