我試圖創建一個新的SelectList和通過return Acctlist.ToList<SelectListItem>();
語句返回它,但不能因爲錯誤的如何將類型'System.Collections.Generic.List <System.Web.Mvc.SelectListItem>'顯式轉換爲'System.Web.Mvc.SelectList'?
無法隱式轉換類型「System.Collections.Generic.List < System.Web.Mvc。 SelectListItem>」到 'System.Web.Mvc.SelectList'
private SelectList RemoveCustomersWithoutSites(SelectList CustomerSelectList)
{
// Update the Account Number dropdown in the SafeContacts pages to only include accounts that have at least one monitored location in Stages.
SelectList CustList = null;
List<SelectListItem> Acctlist = new List<SelectListItem>();
foreach (SelectListItem AcntNumber in CustomerSelectList.Items){
IEnumerable<SelectListItem> siteList = null;
siteList = objAPICommon.GetSites(AcntNumber.ToString());
// Add this Account if it has a site
if (siteList != null && siteList.Count() > 0)
{
SelectListItem item;
item = new SelectListItem { Text = AcntNumber.Text, Value = AcntNumber.Value };
Acctlist.Add(item);
}
}
return ***Acctlist.ToList<SelectListItem>()***;
}
我應該怎樣投或轉換Acctlist
成SelectList
好嗎?謝謝。
'返回新的SelectList(AcctList);' – mxmissile
會是什麼呢? 'SelectList'是'IEnumerable',但不是相反。而且'DropDownListFor()'方法需要的全部是'IEnumerable '。使用新的SelectList(...)'從第一個創建一個完全相同的'IEnumerable '是沒有意義的額外開銷。只是讓你的方法'私人IEnumerable RemoveCustomersWithoutSites(....)' –