我选择的下拉列表项目未保存在db中 [英] My selected drop down list items are not saving in db

查看:83
本文介绍了我选择的下拉列表项目未保存在db中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我是mvc5的新手,我为选择器创建了2个母版页和下拉列表,当我从下拉列表中选择值时,该值为不保存在Db。请帮我。该特定字段显示错误消息:部门字段是必需的。我想从相同的字段下拉列表中选择值后,该字段值不会被采用。请帮助我在这里弄错了。



以下是我的代码。



谢谢。



我的尝试:



查看页面

Hi,

I am new for mvc5, I have created 2 master pages and drop down list for selector, when I selecting value from drop down that value is not saving in Db. please help me. that particular field is showing error message: "Department field is required". I guess that field value is not taking after selecting value from same field drop down list. Pleas help me where I did mistake in this.

below is my code.

Thank you.

What I have tried:

View Page

<div class="form-group">          
            @Html.LabelFor(model => model.Department, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-6" style="width:275px;">
                @Html.DropDownList("ID", null, htmlAttributes: new { @class = "form-control" })              
                @Html.ValidationMessageFor(model => model.Department, "", new { @class = "text-danger" })
            </div>
        </div>







低于Controller的代码




below code for Controller

//Get Method
   public ActionResult Add()
        {
           //Below one line for finder
            PopulateDivisionDropDownList();
            return View();
        }

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Add([Bind(Include = "ID,Code,Name,Department,CreatedDateandTime")] DivisionViewModel divisionViewModel)
        {

            if (ModelState.IsValid)
            {
                db.DivisionViewModels.Add(divisionViewModel);
                db.SaveChanges();
                return RedirectToAction("List");
            }

            //below line for finder
            ViewBag.Name = new SelectList(db.DivisionViewModels, "ID", "Name", divisionViewModel.Name);
            PopulateDivisionDropDownList(divisionViewModel.ID);
            db.SaveChanges();            
            return View(divisionViewModel);
         }
        //below method for finder
        private void PopulateDivisionDropDownList(object selectedDepartment = null)
        {
            var departmentquery = from dept in db.DepartmentViewModels
                               orderby dept.Name
                               select dept;
            db.SaveChanges();
            ViewBag.ID = new SelectList(departmentquery, "ID", "Name", selectedDepartment);
            //db.SaveChanges();
        } 

推荐答案

使用
@Html.DropDownListFor(model => model.Department)

而不是

@Html.DropDownList

目前你的下拉列表没有'name'属性,并且没有值存在于model.Department

Currently your dropdownlist have no 'name' attribute and no value is holding in model.Department


这篇关于我选择的下拉列表项目未保存在db中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆