With the help of a very simple extensions we can add two additional functions, GetSelectedItems() and GetSelectedValues():
- using System.Collections.Generic;
- using System.Linq;
- using System.Web.UI.WebControls;
- namespace TypeExtensions
- {
- // ReSharper disable InconsistentNaming
- public static class System_Web_UI_ListControl
- // ReSharper restore InconsistentNaming
- {
- /// <summary>
- /// Returns ListControl selected items.
- /// </summary>
- public static List<ListItem> GetSelectedItems(this ListControl listControl)
- {
- var selectedItems = listControl.Items
- .OfType<ListItem>()
- .Where(listItem => listItem.Selected)
- .ToList();
- return selectedItems;
- }
- /// <summary>
- /// Returns ListControl selected values.
- /// </summary>
- public static List<string> GetSelectedValues(this ListControl listControl)
- {
- var selectedItems = listControl.GetSelectedItems();
- var selectedValues = selectedItems
- .Select(listItem => listItem.Value)
- .ToList();
- return selectedValues;
- }
- }
- }
Simply add Namespace of this class to your namespace usages and you will become two additional functions:
These extension functions are working for all ListControl-based classes.
No comments:
Post a Comment
Note: only a member of this blog may post a comment.