private static string ListItemToOption(SelectListItem item) { TagBuilder builder = new TagBuilder("option") { InnerHtml = HttpUtility.HtmlEncode(item.Text) }; if (item.Value != null) { builder.Attributes["value"] = item.Value; } if (item.Selected) { builder.Attributes["selected"] = "selected"; } if (item.GetType() != typeof(SelectListItem)) { var selectListItemProperties = typeof(SelectListItem).GetProperties() .Select(pi => pi.Name); foreach (var propertyInfo in item.GetType().GetProperties()) { if (!selectListItemProperties.Contains(propertyInfo.Name)) { builder.Attributes[propertyInfo.Name.ToLower()] = propertyInfo.GetValue(item).NotNullString(); } } } return(builder.ToString(TagRenderMode.Normal)); }
public IEnumerable <SelectListItem> CSelectListItem(IEnumerable <Make> Items) { List <SelectListItem> list = new List <SelectListItem>(); SelectListItem item = new SelectListItem() { Text = "--Select--", Value = "0" }; list.Add(item); foreach (Make make in Items) { item = new SelectListItem() { Text = item.GetType().GetProperty("Name").GetValue(item, null).ToString(), // make.Name, Value = item.GetType().GetProperty("Id").GetValue(item, null).ToString() //make.Id.ToString() }; list.Add(item); } return(list); }