2017-06-22 148 views
-1

我試圖創建一個新的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>()***; 
    } 

我應該怎樣投或轉換AcctlistSelectList好嗎?謝謝。

+0

'返回新的SelectList(AcctList);' – mxmissile

+0

會是什麼呢? 'SelectList'是'IEnumerable ',但不是相反。而且'DropDownListFor()'方法需要的全部是'IEnumerable '。使用新的SelectList(...)'從第一個創建一個完全相同的'IEnumerable '是沒有意義的額外開銷。只是讓你的方法'私人IEnumerable RemoveCustomersWithoutSites(....)' –

回答

0

創建一個新的SelectList與項目:

new SelectList(items) 
+0

謝謝。我將我的return語句更改爲SelectList CustomerSelectList1 = new SelectList(Acctlist,「customer_number」,「cust_name」); –

相關問題