我試圖將selectList插入到視圖(表單)中。我想我會通過在控制器中填充列表並將其作爲視圖包發送到視圖來完成此操作。這裏就是我有這麼遠:SelectListItem在加載時崩潰
var query = from p in db.ProductCategories
join pt in db.ProductCategoriesTranslations on p.ProductCategoriesId equals pt.ProductCategoriesId
where pt.ProductLanguage.Equals("se")
orderby pt.ProductCategoriesName
select new SelectListItem
{
Value = p.ProductCategoriesId.ToString(),
Text = pt.ProductCategoriesName
};
ViewBag.ProductCategoriesId = query;
return View();
然後在視圖中我有:
@Html.DropDownList("ProductCategoriesId", String.Empty)
我認爲這是簡單而直接的,但是當我加載它與下面的錯誤崩潰的事情:
LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.
有什麼建議嗎?
謝謝,這個工作,但它的工作沒有在視圖中的更正,所以這段代碼工作,即使它不應該? '@ Html.DropDownList(「ProductCategoriesId」,string.Empty)' – Dennis 2013-02-08 13:24:35
它可能在默認情況下使用ViewBag。我不知道這是因爲我總是使用ViewModels來處理我的視圖。 – 2013-02-08 13:30:29
我早先嚐試了SqlFunctions.StringConvert,但又得到了另一個錯誤信息。我想這主要是我不知道如何正確實施它。通過您提供的解決方案使用它還有一些優勢嗎? – Dennis 2013-02-09 08:31:35