我是相當新的(好的,真的是新的)泛型,但我喜歡它們的想法。我會在視圖中有幾個下拉列表,我想一個通用的方式,採取對象的列表並將其轉換成的SelectListItems
如何編寫泛型IEnumerable <SelectListItem>擴展方法
列表,我現在擁有的一切:
public static IEnumerable<SelectListItem> ToSelectListItems(
this IEnumerable<SpecificObject> items, long selectedId)
{
return
items.OrderBy(item => item.Name)
.Select(item =>
new SelectListItem
{
Selected = (item.Id == selectedId),
Text = item.Name,
Value = item.Id.ToString()
});
}
麻煩的是,我需要重複的代碼爲每個下拉的對象具有代表的SelectListItem
這裏Text
性質不同的領域,是想我做到:
public static IEnumerable<SelectListItem> ToSelectListItem<T>(this IEnumerable<T> items, string key, string value, int SelectedId) {
// I really have no idea how to proceed from here :(
}
取消,必須做ToSelectListItems :) –
Dan
2010-03-05 20:05:01
我怎麼會這樣稱呼,特別是使用'selected'代表? – Dan 2010-03-05 20:12:10
非常好的解決方案! – Samuel 2012-07-30 17:33:04