简单的下拉列表mvc4从数据库检索
本文关键字:数据库 检索 mvc4 下拉列表 简单 | 更新日期: 2023-09-27 18:27:19
我正试图从数据库中的一个查询中创建一个简单的下拉列表。
我读了很多关于这个的书,说实话我很困惑。这可能是我找到的最好的教程
模型是这样的。
public class TodoMembership
{
public int Id { get; set; }
public string UserName { get; set; }
public string UserTodoName { get; set; }
public string Category { get; set; }
}
控制器很简单。
public ActionResult Index()
{
//connection already sorted
IEnumerable<SelectListItem> items = db.TodoMemberships.Select(c => new SelectListItem
{
Value = c.Id.ToString(),
Text = c.Category
});
ViewBag.Categories = items;
return View();
}
这个在我的html中。@Html.DropDownList("Id",(IEnumerable)ViewBag.Categories)
这就是我得到的错误,
LINQ to Entities无法识别方法"System.String ToString()"方法,并且此方法无法转换为存储表达式。
使用SqlFunctions.StringConvert
IEnumerable < SelectListItem > items = db.TodoMemberships.Select(c => new SelectListItem {
Value = SqlFunctions.StringConvert((double) c.Id),
Text = c.Category
});
ViewBag.Categories = new SelectList(db.TodoMemberships, "Id", "Category");
这样,字符串转换将在应用程序中执行,而不是在SQL服务器上执行。