2017-06-22 2 views
-1

Je suis en train de créer un nouveau SelectList et le retourner par la déclaration return Acctlist.ToList<SelectListItem>();, mais ne peut pas en raison de l'erreurComment faire pour convertir explicitement le type 'System.Collections.Generic.List <System.Web.Mvc.SelectListItem>' en 'System.Web.Mvc.SelectList'?

Impossible de convertir implicitement le type « 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>()***; 
    } 

Comment dois-je rejetterai ou convertir Acctlist dans un SelectList s'il vous plaît? Je vous remercie.

+0

'nouveau retour SelectList (AcctList)' – mxmissile

+0

Quel serait le point? 'SelectList' est' IEnumerable 'mais pas l'inverse. Et tout ce qui est nécessaire pour la méthode 'DropDownListFor()' est 'IEnumerable '. L'utilisation de la nouvelle liste SelectList (...) 'pour créer un' IEnumerable 'identique à la première est inutile. Faites juste votre méthode 'private IEnumerable RemoveCustomersWithoutSites (....)' –

Répondre

0

Créer une nouvelle SelectList avec les éléments:

new SelectList(items) 
+0

Merci. J'ai changé ma déclaration de retour à SelectList CustomerSelectList1 = new SelectList (Acctlist, "customer_number", "cust_name"); –