未在编辑页面中选择 DropDownList

DropDownList not selected in Edit page

我用 "MVC 5 Controller with views, using Entity Framework" 创建了控制器并将 "Edit" 视图中的 "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() 查找 和其他问题尝试这样做,但它不起作用(对我来说)

我不知道该怎么做 (抱歉,在我的通讯中。)

我认为您需要更改 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" })

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

代码生成/模型

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" })

你可以试一下,效果很好。