我选择的下拉列表项目未保存在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