asp.net mvc HtmlHelperExt EnumDropDownList

时间:2014-10-08 09:43:55   收藏:0   阅读:642
bubuko.com,布布扣
 1 public static class HtmlHelperExt
 2     {
 3         public static MvcHtmlString EnumDropDownList<TEnum>(this HtmlHelper htmlHelper, string name, TEnum selectedValue)
 4         {
 5             IEnumerable<TEnum> values = Enum.GetValues(typeof (TEnum))
 6                 .Cast<TEnum>();
 7 
 8             IEnumerable<SelectListItem> items =
 9                 from value in values
10                 select new SelectListItem
11                 {
12                     Text = value.ToString(),
13                     Value = value.ToString(),
14                     Selected = (value.Equals(selectedValue))
15                 };
16 
17             return htmlHelper.DropDownList(
18                 name,
19                 items
20                 );
21         }
22 
23         public static MvcHtmlString EnumDropDownListFor<TModel, TEnum>(this HtmlHelper<TModel> htmlHelper,
24             Expression<Func<TModel, TEnum>> expression)
25         {
26             ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
27             IEnumerable<TEnum> values = Enum.GetValues(typeof (TEnum)).Cast<TEnum>();
28 
29             IEnumerable<SelectListItem> items =
30                 values.Select(value => new SelectListItem
31                 {
32                     Text = value.ToString(),
33                     Value = value.ToString(),
34                     Selected = value.Equals(metadata.Model)
35                 });
36 
37             return htmlHelper.DropDownListFor(
38                 expression,
39                 items
40                 );
41         }
42     }
HtmlHelper

 

原文:http://www.cnblogs.com/baiyunchen/p/4010447.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!