在使用過程中,用到了ddlf, 但是一直不怎么好用, 而且經常在編輯頁面,不能給ddlf賦值的問題,跟了一下代碼,發現,要么簡單的使用
List<SelectListItem> list = new List<SelectListItem> {
new SelectListItem { Text = "啟用", Value = "0",Selected = false},
new SelectListItem { Text = "禁用", Value = "1",Selected=true } };
ViewBag.List = list1;
然后在頁面中 Html.DropDownListFor(m=>m.name, ViewBag.List as List<SelectListItem>) 這樣是沒問題的
大家經常出現問題的是用 SelectList的時候,這里一定要注意, SelectList list = newSelectList(mylist,"","",***);這個***一定要有,表示選中的值是什么;
否則,生成的html代碼中,是不會出現Selected的屬性的; 這個不算是bug.
但是,另外出現了個問題就很郁悶了:
如下:
public ActionResult Edit(HostIP hip)
{
****
} ,如果這樣寫代碼的話, 那么如果采用selectlist的方式,是不好用的,無論你怎么改值,都是第一次的值,很郁悶,沒辦煩,我的項目這種了下
public actionresult Edit( int? HostIPID)
{
} ,改成這樣的時候,才能每次都獲取新的下拉的值了,原因一直沒查出來,不知道有沒有高手知道呢?