我有以下观点,我正在尝试从ViewBag.Catagories构建下拉列表:
@Html.DropDownListFor(x => x.CategoryId, List<SelectListItem>)ViewBag.Catagories,
new { @class = "form-control" })
这里是我有一个带有列表的ViewBag的Action:
public ActionResult CreateEdit(int id = 0)
{
var context = new FeedbackContext();
ViewBag.Catagories = context.Categories.Select(
x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList();
if (id != 0)
{
return View(context.Tasks.FirstOrDefault(x => x.Id == id));
}
}
在这里,它可以首次填充下拉列表中的类别,但是当我验证/重新提交它时,它将引发错误。
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法转换类型&#39; System.Data.Entity.Infrastructure.DbQuery&lt; System.Web.Mvc.SelectListItem&gt;&#39;到&#39; System.Collections.Generic.List&lt; System.Web.Mvc.SelectListItem&gt;&#39;
请说明我在这里收到错误的原因。