我尝试从数据库填充DropDownList,但仍然出现错误
大炮将类型'System.Web.Mvc.SelectList'隐式转换为'System.Collections.Generic.IEnumerable <MyWeb.Models.HomeViewModels.SelectListItem>'
我的模特:
public class BazarInsertViewModel
{
public int SelectedCategoryId { get; set; }
public IEnumerable<SelectListItem> MyCategory { get; set; }
}
public class SelectListItem
{
public string Value { get; set; }
public string Text { get; set; }
}
和我的控制器:
public ActionResult BazarInsert()
{
var model = new Models.HomeViewModels.BazarInsertViewModel
{
MyCategory = GetCategory()
};
return View(model);
}
private IEnumerable<Models.HomeViewModels.SelectListItem> GetCategory()
{
var dbo = new WebEntities();
var category = dbo
.bazar
.Select(x =>
new Models.HomeViewModels.SelectListItem
{
Value = x.ID.ToString(),
Text = x.TITLE
});
return new SelectList(category, "Value", "Text");
}
请您能解释一下我在做什么错吗?
通过返回category.ToList()
就可以了。我在我的一个项目中使用它,并且效果很好。
private IEnumerable<System.Web.Mvc.SelectListItem> GetCategory()
{
var dbo = new WebEntities();
var category = dbo
.bazar
.Select(x =>
new System.Web.Mvc.SelectListItem
{
Value = x.ID.ToString(),
Text = x.TITLE
});
return category.ToList();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句