2014-03-13 34 views
0

我從控制器傳遞selectlist數據以查看viewdata。現在我想將該viewdata selectlist分配給@ HTML.Listbox。我想要一個大小爲4的列表,但用戶一次只能選擇單個項目。我知道多選的代碼,但我不知道單個項目。從SelectList的Viewdata獲取數據到HTML.Listbox沒有多選選項

代碼爲多選: 控制器:

ViewData["ddlList"] = new SelectList(ROIDL.GetDataList(), "List_Val", "List_Text"); 

HTML:

@Html.ListBox("ddlMCL", ViewData["ddlMCL"] as MultiSelectList) 
+0

爲什麼不你通過模型傳遞數據?你有什麼限制嗎? –

+0

@RubéndelaFuente是的。這就是爲什麼我要將數據傳入viewdata。並作爲multiselectlist它工作正常。 – Dhwani

+0

這是你在找什麼:http://stackoverflow.com/questions/9619776/how-to-create-a-listbox-in-html-without-allowing-multiple-selection –

回答

2

您可以用類似的東西試試,你需要一個IEnumerable<SelectListItem>

ViewData["ddlList"] = ROIDL.GetDataList().Select(e => new SelectListItem() 
             { 
              Value = e.List_Val, 
              Text = e.List_Text 
             }).ToList(); 


@Html.ListBox("ddlMCL", (IEnumerable<SelectListItem>) ViewData["ddlMCL"]) 
+0

@ Html.ListBox(「ddlMCL」,ViewData [「ddlMCL」])給出錯誤 – Dhwani

+0

對不起,我更新代碼 –