Вот пример того, как некоторые местоположения выглядят в моей базе данных:
ID, DepartmentId, LocationName
8,2, Главный склад
12,2,Подвал фильтра
Когда я использую следующий код, он захватывает весь запрос и помещает его в качестве значения для моего раскрывающегося списка HTML.
public ActionResult GetLocations(int id)
{
List<SelectListItem> locations = new List<SelectListItem>();
//based on the input coming to this method ( product id)
var incident = new AccidentSupervisorViewModel();
incident.Locations = DB.Locations.ToList().Select(i => new SelectListItem
{
Text = i.LocationName,
Value = i.DepartmentId.ToString()
}
).Where(i => i.Value == id.ToString());
var departmentId = from loc in DB.Locations where loc.DepartmentId == id select loc.DepartmentId;
for (var x = 0; x < incident.Locations.Count(); x++) {
locations.Add(new SelectListItem {
Text = incident.Locations.ElementAt(x).Text,
Value = departmentId.ToString()
});
}
return Json(locations,JsonRequestBehavior.AllowGet);
}
Скорее всего, это происходит из-за синтаксической ошибки, но я не использовал linq для запросов, поэтому любая помощь приветствуется.