2014-01-28 47 views
0

我已經搜索了很多,但無法弄清楚這是否已經嘗試了多種方法從stackoverflow上的問題\答案,所以尋求幫助。從EF表中生成SelectList

我想從我通過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個下拉菜單本表)。

不能爲我的生活弄清楚如何在我的強類型Razor視圖做到這一點

@model IList< PRODUCT_TABLE> 
+0

應該不是你的模型是這樣的'@Model IList '? –

+0

是的,這是我沒有在原來的文章留下空間,它被剝離。 – Jarrod

回答

1

您需要從表中創建6名不同的選擇列表,然後你需要通過他們通過ViewBag或通過視圖模型將其轉換爲表單。例如:

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) 

等等......

+0

謝謝Ashish。 – Jarrod