簡體   English   中英

隱式枚舉到core2.1剃須刀頁面中的下拉列表

[英]Covert enum to dropdown list in core2.1 razor pages

我有以下枚舉

public class Blog {

   public enum BlogType {
     Article,
     News
   }

}

我想將其轉換為下拉列表,但出現錯誤: 無法將類型'Blog.BlogType'隱式轉換為'System.Collections.Generic.IEnumerable

我的代碼:

IList<SelectListItem> list = Enum.GetValues(typeof(Blog.BlogType))
.Cast<Blog.BlogType>()
.Select(x => new SelectListItem { Text = x.ToString(), Value = ((int)x).ToString() })
.ToList();

SelectList data = new SelectList(list, "Value", "Text");

我嘗試了幾種解決方案,但我遇到了同樣的問題。

謝謝 ..

最簡單的方法是在選擇標記幫助器中使用Html.GetEnumSelectList<TEnum>方法:

<select asp-for="BlogType" asp-items="Html.GetEnumSelectList<BlogType>()">
    <option value="">Pick one</option>
</select>

在此處查看有關在Razor Pages中使用選擇標記幫助器和枚舉的更多信息: https : //www.learnrazorpages.com/razor-pages/tag-helpers/select-tag-helper#enumerations

試試這個代碼

  Html.DropDownListFor(o => o.EnumProperty, Enum.GetValues(typeof(Blog)).Cast<Blog>().Select(x => new SelectListItem { Text = x.ToString(), Value = ((int)x).ToString() }))

暫無
暫無

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

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