簡體   English   中英

從列表轉換為SelectListItem

[英]Cast from List to SelectListItem

我需要將我從數據庫獲得的列表轉換為SelectListItem ,以便顯示它的下拉列表,我嘗試了以下代碼

public List<SelectListItem> Liste_proprietaire()
{
    List<SelectListItem> selectList = new List<SelectListItem>();
    var maListe = (from p in db.reqopt
                   where (p.categorie.Contains("proprietaire"))
                   select new
                   {
                       str = p.valeur
                   }).ToList();

    foreach (var x in maListe)
    {
        selectList.Add(x);
    }

    return selectList;
}

他們在selectList.Add(x)下給我一個錯誤,告訴我Add函數具有無效的參數。

x是匿名類的實例(使用new { }創建)。 您不能立即將其轉換為SelectListItem

您可以自己做:

selectList.Add(new SelectListItem() { Value = x.str });

或直接從LINQ表達式創建SelectListItem項目:

select new SelectListItem()
{
    Value = p.valeur
}

您必須使用SelectListItem而不是anonymous類型。 嘗試這個。

    public List<SelectListItem> Liste_proprietaire()
    {

        List<SelectListItem> selectList = new List<SelectListItem>();

        var maListe = (from p in db.reqopt
                       where (p.categorie.Contains("proprietaire"))

                       select new SelectListItem
                       {
                           Text = p.valeur,
                           Value = p.value //Put your value column here
                       }).ToList();


        foreach (var x in maListe)
        {
            selectList.Add(x);
        }

        return selectList;
    }

注意 :您必須相應地更新SelectListItemValue屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM