2014-10-22 94 views
1

我想從數據庫中的查詢做一個簡單的下拉列表。簡單的下拉列表mvc4從數據庫檢索

我讀過這麼多,說實話我很困惑。這可能是我的最佳教程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( 「ID」,(IEnumerable的)ViewBag.Categories)

這是我的錯誤,

LINQ到實體無法識別方法'System.String的ToString()方法,並且此方法不能轉換爲商店表達式。

回答

2

使用SqlFunctions.StringConvert

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

我現在離開這個.....這個調用在下面的方法或屬性之間是模棱兩可的:'System.Data.Objects.SqlClient.SqlFunctions.StringConvert(double?)'和'System.Data.Objects .SqlClient.SqlFunctions.StringConvert(decimal?)' – Grubbypandas 2014-10-22 03:58:40

+0

謝謝你的工作。我今天找到了新的方法!謝謝! – Grubbypandas 2014-10-22 04:26:43

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

這樣的字符串轉換將在應用程序,而不是SQL服務器上執行。

+0

真棒,這工作得很好!現在要弄清楚如何過濾結果。 – Grubbypandas 2014-10-22 04:02:45

相關問題