Я пытаюсь вставить 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
Возможно, он по умолчанию использует ViewBag. Я не знал этого, потому что я всегда использую ViewModels для своих просмотров. –
Я попробовал SqlFunctions.StringConvert раньше, но получил еще одно сообщение об ошибке. Я предполагаю, что в основном я не знаю, как правильно его реализовать. Тем не менее, есть ли преимущество в использовании этого решения, которое вы предоставили? – Dennis