简单的下拉列表mvc4从DB检索

时间:2014-10-22 03:36:31

标签: c# asp.net-mvc-4 model-view-controller

我试图从数据库中的查询中创建一个简单的下拉列表。

我已经读了这么多,说实话我很困惑。这可能是我found

的最佳教程

模型就是这样。

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(&#34; Id&#34;,(IEnumerable)ViewBag.Categories)

这是我得到的错误,

  

LINQ to Entities无法识别方法&#39; System.String ToString()&#39;方法,并且此方法无法转换为商店表达式。

2 个答案:

答案 0 :(得分:2)

使用SqlFunctions.StringConvert

IEnumerable < SelectListItem > items = db.TodoMemberships.Select(c => new SelectListItem {
    Value = SqlFunctions.StringConvert((double) c.Id),
        Text = c.Category
});

答案 1 :(得分:0)

ViewBag.Categories = new SelectList(db.TodoMemberships, "Id", "Category");

这样,字符串转换将在应用程序中执行,而不是在SQL服务器上执行。

相关问题