2011-10-02 37 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

相关问题