从EF表生成SelectList

时间:2014-01-28 16:53:45

标签: c# asp.net-mvc razor selectlist

我已经进行了广泛的搜索,但是无法解决这个问题,在stackoverflow上尝试了一些问题\答案的方法,所以请求帮助。

我想从我通过EF访问的表中创建一些下拉列表。

在我的控制器中

public ActionResult GetProductsOnPreOrder()
{
    PreOrderProducts = _Db.PRODUCT_TABLE.Where(q => q.IsOnPreOrder == true)
        .OrderBy(o => o.PreOrderShippingStartDate).ToList<PRODUCT_TABLE>();

    return View(PreOrderProducts);
}

此表包含,例如,名为IDName的字段,我想在我的视图中创建一个下拉列表(我实际上需要使用此表中的各个字段创建6个下拉列表)

对于我的生活,不能在我强烈打字的剃刀视图中找出如何做到这一点

@model IList< PRODUCT_TABLE>

1 个答案:

答案 0 :(得分:1)

您需要从表中创建6个不同的选择列表,然后您需要通过ViewBag或View Model将它们传递给表单。例如:

ViewBag.SelectList1 = new SelectList(PreOrderProducts, "TextColumn1", "ValueColumn1");
ViewBag.SelectList2 = new SelectList(PreOrderProducts, "TextColumn2", "ValueColumn2");

等等......

您可以使用它们:

@Html.DropDownFor(mode=>model.AnyField1, ViewBag.SelectList1 as SelectList)
@Html.DropDownFor(mode=>model.AnyField2, ViewBag.SelectList2 as SelectList)

等等......