我正在使用ASP.NET MVC 5實體框架,在我的視圖中我有一個下拉菜單,我正在嘗試使用枚舉來填充下拉菜單。這是我在我的課有:Enum.Parse不能隱式地將類型'對象'轉換爲存在顯式轉換(你缺少一個轉換嗎?)
public enum occupancyTimelineTypes : int
{
TwelveMonths = 12,
FourteenMonths = 14,
SixteenMonths = 16,
EighteenMonths = 18
}
這:
[DisplayName("Occupancy Timeline")]
[Required]
public string occupancyTimeline { get; set; }
public occupancyTimelineTypes occupancyTimelineType
{
get
{
return Enum.Parse(typeof(occupancyTimelineTypes), occupancyTimeline);
}
}
我的問題是,我得到一個錯誤,我不知道如何解決:
Cannot implicitly convert type 'object' to An explicit conversion exists (are you missing a cast?)
我正在填充我的下拉菜單,如下所示:
@Html.DropDownListFor(model => model.occupancyTimeline,Model.occupancyTimelineType.ToSelectList());
,這裏是我的ToSelectList()
方法
public static class MyExtensions
{
public static SelectList ToSelectList(this occupancyTimelineTypes enumObj)
{
var values = from occupancyTimeline e in Enum.GetValues(typeof(occupancyTimeline))
select new { Id = e, Name = string.Format("{0} Months", Convert.ToInt32(e)) };
return new SelectList(values, "Id", "Name", enumObj);
}
}
我不能,也不會用Html.EnumDropDownListFor()
因爲太多的錯誤出現,它是一個噩夢到位並修正這些錯誤。
這必須是@Html.DropDownListFor
您是否嘗試過錯誤提示? '(你是否錯過了演員?)' – RafaelC
錯誤信息實際上有點有用的幾次之一:) – KSib