ASP.NET MVC4 DropDownListFor未显示DataSource中的选定值

时间:2014-01-24 07:39:44

标签: asp.net-mvc-4 razor html.dropdownlistfor

在我们的一个ASP.NET MVC 4视图中,我们有一个DropDownListFor(以及其他html控件),如下所示:

@Html.DropDownListFor(model=>model.ProductType,
                      (List<SelectListItem>)ViewBag.ProductType,
                      "--- Select Product Type ----")

列表将从数据库查找表中填充。当我们单击提交按钮时,所有控件值(包括下拉列表的选定值)都会成功插入到数据库中。但是当显示页面时,下拉列表的选定值始终显示“---选择产品类型----”而不是插入数据库的值。

请帮忙。感谢。

1 个答案:

答案 0 :(得分:2)

您需要在Controller内的SelectList中设置所选值,即ViewBag.ProductType。

查看SelectList类的重载。

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist(v=vs.118).aspx

public ActionResult MyMethod()
{
    var items = db.ProductType.ToList();
    var selectedItem = items.FirstOrDefault(x => get desired selected item);

    ViewBag.ProductType = 
        new SelectList(items, "ProductID", "ProductType",  selectedItem);
}