I have seen usage of SelectListItem[]
at BL, DAL etc. levels that are not in the aps.net MVC project.
I am inclined to use anything that is IEnumerable<KeyValuePair<string, string>>
instead e.g. Dictionary<string,string>
c.f. Creating the IEnumerable<KeyValuePair<string, string>> Objects with C#?
My reasons are not to add the extra dependency on Web.MVC
when not needed and SelectListItem
belongs to MVC context as it is heavier than IEnumerable<KeyValuePair<string, string>>
Are these legitimate reasons or there are counter points to above that one should consider.
Are there any well know principals that would prefer one over the other, e.g. is there a principal to reduce dependencies when not needed?