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"];

 

 

 

 

posted @ 2013-03-25 14:43  黑 瞳  阅读(524)  评论(0编辑  收藏  举报