MVC实现RadioButtonList
在MVC3里只有RadioButton,没有RadioButtonList,但项目中又要用到,怎么办?
答案:自己看着办。
实现后的功能:有一个文件保密等级,如绝密、机密、一般等,需要在页面中显示,并且可以后台控制哪个被选中。
实现步骤如下:
1,将保密等级及是否选中,加载到一个List中。
View Code
List<KeyValuePair<string, bool>> secrecyList = new List<KeyValuePair<string, bool>>(); var secrecyLevelList = baseTypeDetailRepository.GetBaseTypeDetailList(BaseType.SecrecyLevel); foreach (var item in secrecyLevelList) { if (auth.SecrecyLevel == item.Caption) { secrecyList.Add(new KeyValuePair<string, bool>(item.Caption, true)); } else { secrecyList.Add(new KeyValuePair<string, bool>(item.Caption, false)); } }
2,在页面中遍历List,判断是否选中,并输入为RadioButton
View Code
@if (ViewBag.SecrecyList != null) { foreach (KeyValuePair<string, bool> item in ViewBag.SecrecyList) { if (item.Value) { @Html.RadioButton("SecrecyLevel", item.Key, new { @id = item.Key, @checked = true }) <span> @item.Key </span> } else { @Html.RadioButton("SecrecyLevel", item.Key, new { @id = item.Key }) <span> @item.Key </span> } } }
3,后台可接收选中文件保密等级。
var secrecyLevel = collection["SecrecyLevel"];