Language: C#
CollectionExtensions (For SelectList)
public static class CollectionExtensions { public static SelectList ToSelectList<T>(this IEnumerable<T> list, Func<T, string> value, Func<T, string> text) { return new SelectList(list.Select(x => new { Value = value(x), Text = text(x) }), "Value", "Text"); } public static SelectList ToSelectList<T>(this IEnumerable<T> list, Func<T, string> value, Func<T, string> text, string firstValue, string firstText) { var firstSelectListItem = new { Value = firstValue, Text = firstText }; var collection = (new[] { firstSelectListItem }) .Concat(list.Select(x => new { Value = value(x), Text = text(x) })); return new SelectList(collection, "Value", "Text"); } public static SelectList ToSelectList<T>(this IEnumerable<T> list, Func<T, string> value, Func<T, string> text, string selectedValue) { return new SelectList(list.Select(x => new { Value = value(x), Text = text(x) }), "Value", "Text", selectedValue); } public static SelectList ToSelectList<T>(this IEnumerable<T> list, Func<T, string> value, Func<T, string> text, string firstValue, string firstText, string selectedValue) { var firstSelectListItem = new { Value = firstValue, Text = firstText }; var collection = (new[] { firstSelectListItem }) .Concat(list.Select(x => new { Value = value(x), Text = text(x) })); return new SelectList(collection, "Value", "Text", selectedValue); } public static MultiSelectList ToMultiSelectList<T>(this IEnumerable<T> list, Func<T, string> value, Func<T, string> text, IEnumerable<string> selectedValues) { return new MultiSelectList(list.Select(x => new { Value = value(x), Text = text(x) }), "Value", "Text", selectedValues); } }
Report Abuse
Subscribe
Discuss
What's new
What is it
New Snippet
Recent Snippets
My Snippets
Web Code
Search

