在编辑页面中未选择DropDownList

时间:2015-01-27 04:44:27

标签: c# asp.net asp.net-mvc-5 viewbag dropdownlistfor

我使用“带有视图的MVC 5控制器创建控制器,使用实体框架”并在“编辑”视图中修改“DropDownList”代码

@Html.DropDownListFor(model=>model.prdepno,(SelectList)ViewBag.prdepno, new { @class = "form-control" })

在Controller中使用ViewBag

personal personal = db.personals.Find(id);

ViewBag.prdepno = new SelectList(db.prdeps, "prdepno", "prdepdes", emp_map.prdepno);

没有错误,但未选择下拉列表

我从Adding a css class to select using @Html.DropDownList() 查找 和其他问题尝试这样做,但它不起作用(对我而言)

我不知道该怎么做 (对不起,在我的沟通中。)

2 个答案:

答案 0 :(得分:1)

我认为您需要更改ViewBag对象的名称

personal personal = db.personals.Find(id);

ViewBag.DwPrdeps= new SelectList(db.prdeps, "prdepno", "prdepdes", emp_map.prdepno);

之后在您的视图中使用ViewBag.DwPrdeps

@Html.DropDownListFor(model=>model.prdepno,(SelectList)ViewBag.DwPrdeps, new { @class = "form-control" })

答案 1 :(得分:0)

尝试使用此代码可以正常工作

代码生成/模型

public class CityList
    {
        public string city { get; set; }
    }
public static IEnumerable<SelectListItem> GetCity()
{
    IList<SelectListItem> items = new List<SelectListItem>
    {
        new SelectListItem{Text = "Dhaka", Value = "dhk" },
        new SelectListItem{Text = "Chittagong", Value = "CTG" }
    };
    return items;
}

为了创造

ViewBag.city = new SelectList(GetCity(), "Text", "Value");

@Html.DropDownList("city", null, "--Select city--", htmlAttributes: new { @class = "form-control select2", required = "required" })

用于编辑

ViewBag.city = new SelectList(GetCity(), "Text", "Value",model.city);

@Html.DropDownList("city", null, "--Select city--", htmlAttributes: new { @class = "form-control select2", required = "required" })

你可以试试这个效果很好。