在《为HtmlHelper添加一个RadioButtonList扩展方法》中我通过对HtmlHelper和HtmlHelper<Model>的扩展使我们可以采用”RadioButtonList”的方式对一组类型为“radio”的<input>元素进行操作。昨天对对此进行了一些改进,并将“CheckBoxList”的功能添加进来。[源代码从这里下载]
和我的很多文章一样,旨在提供一种大体的解决方案,本解决方案旨在解决如下一些问题:
- 通过独立的组件对绑定到ListControl(ASP.NET Web Form的说法)的列表进行单独管理;
- 自动地调用上面这个组件获取列表信息进行相关Html的生成;
- 支持ASP.NET MVC原生的Model Binding。
二、实例演示
我们还是以《为HtmlHelper添加一个RadioButtonList扩展方法》例子来演示RadioButtonList和CheckBoxList用法。下面是代表个人信息同时作为Model的Person类型,Gender、MaritalStatus 和Country分别代表性别、婚姻状况和国籍(这里支持多国籍)。
class Person
2: {
string Name { get; set; }
string Gender { get; set; }
)]
string MaritalStatus { get; set; }
string[] Country { get; set; }
8: }