如何用数据库中的内容填充@html.dropdownlist?

时间:2016-02-04 20:31:07

标签: c# sql asp.net-mvc

我目前面临一个问题,希望你能提供帮助。我正在努力从数据库中收集信息以允许下拉列表的填充。下面是我的控制器中的代码,

public ActionResult Create()
{
  tblProductColour db = new tblProductColour();
  this.ViewData["Id"] = new SelectList(db.tblproducts.ToList(), "Id", "ProductColour");
  return View();
}

以下是视图中使用的代码:

@Html.DropDownList("Id")

提前致谢,

卡勒姆

1 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以将数据库的内容填充到ViewBag中,如下所示:

ViewBag.identifier = new SelectList(db.databaseName, "Id", "ProductColour");

然后在您的视图中显示ViewBag,如下所示:

@Html.DropDownList("identifier", null, htmlAttributes: new { @class = "form-control" })

假设您使用的是bootstrap ..因此classform-control

确保是否将在POST操作中使用下拉列表将ViewBag放入控制器的两个操作中。

例如......

public ActionResult Create()
{
    ViewBag.identifier = new SelectList(db.databaseName, "Id", "ProductColour");
}

[HttpPost]
public ActionResult Create([Bind(Include = "Id, ProductColour")] #modelName identify)
{
    ViewBag.identifier = new SelectList(db.databaseName, "Id", "ProductColour", identify.Id);
}

假设您有一个名为db

的变量的连接字符串