2011-10-02 33 views
0

如何設置SelectList/@Html.DropDownList給定以下代碼的值?如何在SelectList/@Html.DropDownList中設置SelectListItem?

--controller:

 public ActionResult Edit(int id) 
    { 
     Order o = db.Orders.Find(id); 

     ViewBag.OrderStatusTId = new SelectList(db.OrderStatusTIds, "OrderStatusTId", "Name", o.OrderStatusTId); // I thought the last item would send in the selected item to the view?!?!? 
     return View(o); 
    }   

- 查看:

@Html.DropDownList("OrderStatusTId", (IEnumerable<SelectListItem>)ViewBag.OrderStatusTId, String.Empty) 

回答

1

使用可視數據,而不是viewbag,改變你的幫手:

@ Html.DropDownList( 「OrderStatusTId」 null,String.Empty)

+0

Thx! Q1:那麼爲什麼ViewData代替ViewBag?問題2:我怎麼能從列表本身(Dropdownlist)中選擇列表項目而不是從控制器傳入? – JaJ

+0

如果您在項目上傳遞null,則DropDownList方法會自動查找具有viewdata中下拉列表名稱的列表。是的,你可以但不會推薦,因爲你的所有邏輯應該保留在你的控制器上。 – ryudice

相關問題