很多的时候需要把枚举作为数据源绑定DropDownList,一直简单的做法是:

 1    }
用的时候呢,和普通的DropDownList是一样的,这里就不赘述了.
今天做项目遇到了一个新的情况,需要一个民族选择的下拉菜单,这下可有点麻烦了,56个民族啊,那不是要写56行一样的东东?#$%^&*.想用Html控件,把值全部写在Html里面吧,还是觉得有点麻烦.想到了一个原来的同事阿哲写的一篇
用反射+特性列出所有的枚举变量及其描述信息,绑定到DropDownList上,参考了一下,这个思路真好~!下面看看我的:
定义枚举的时候如上文的终极解决方案所述,将枚举定义加上它的特性说明,如本例所用到的民族枚举:

DropDownList绑定枚举类型    public enum Folk
    }

1.从枚举类型和它的特性读出并返回一个键值对
 1        }

这个方法可以看看阿哲的文章中的说明,讲的很清楚了.不同的是一个是DataTable,一个是NameValueCollection而已.

2.从枚举类型和它的特性说明及枚举值取得该枚举的特性说明字符串

 1DropDownList绑定枚举类型
 2        }
到了这里,绑定起来相对就容易一点了.代码如下,大家都比较反对仅仅罗列代码的文章,但有些问题似乎是只有代码能说的明白一点,所以只有再帖一点了:-)
DropDownList绑定枚举类型    public class FolkDropDownList : DropDownList
    }
至于用的时候呢,也比较简单了.代码中加了一些说明可以参考一下.
 1DropDownList绑定枚举类型        private void Page_Load(object sender, System.EventArgs e)
 2        }
到这里,问题解决了.我的文章也完了.

祝大家HappyEveryDay.MoneyMoreMore,GirlGoodGood.

相关文章:

  • 2022-02-06
  • 2021-07-20
  • 2021-06-26
  • 2021-05-26
  • 2021-10-01
  • 2021-12-29
  • 2021-11-09
  • 2022-12-23
猜你喜欢
  • 2021-06-21
  • 2022-02-06
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2021-08-14
相关资源
相似解决方案