Я пытаюсь заполнить второй раскрывающийся список (который содержит округа) в зависимости от того, что выбрано в первом раскрывающемся списке (который содержит страны).
У меня есть действие контроллера под названием GetCounties:
public JsonResult GetCounties(string id)
{
DBEntities dc = new DBEntities();
JsonResult result = new JsonResult();
var filteredDivisions = from div in dc.Divisions
where div.CountryID == 1 //id
select div;
result.Data = filteredDivisions.ToList();
return Json(result.Data, JsonRequestBehavior.AllowGet);
// return Json(new[] {
// new { Id = filteredDivisions.ToArray()[0].DivisionID, Value = filteredDivisions.ToArray()[0].DivisionName },
// new { Id = 2, Value = "value 2" },
// new { Id = 3, Value = "value 3" },
//}, JsonRequestBehavior.AllowGet);
}
Обратите внимание на закомментированный раздел. Это прекрасно работает для меня, (я получаю первое значение из списка подразделений, а два других называются «значение 2» и «значение 3». Я использовал это для проверки обратного вызова, но это было единственное, что дало мне Результаты. Использование:
return Json(result.Data, JsonRequestBehavior.AllowGet);
ничего не делает со стороны просмотра. При отладке все правильные значения есть, но они не отображаются в раскрывающемся списке на стороне просмотра. Как я уже сказал, единственные результаты, которые я получаю, - это использование закомментированного кода (жестко закодированные значения, которые, конечно, недостаточно хороши). Я пытался использовать циклы for для перебора списка, чтобы заполнить массив, но ничего не работает, я получаю ошибки, такие как анонимный тип только для чтения, поэтому я не могу установить его снова.
Это мой код jquery:
$(function () {
$.getJSON('/Entity/GetCounties', function (result) {
var ddl = $('#DivisionsList');
ddl.empty();
$(result).each(function () {
$(document.createElement('option'))
.attr('value', this.Id)
.text(this.Value)
.appendTo(ddl);
});
});
});
Разделяемый список - это, конечно же, раскрывающийся список со всеми округами, который, используя приведенный выше оператор возврата без комментариев, просто возвращает без изменений, т. Е. Содержит ВСЕ его значения, а не только те, которые должны появляться в зависимости от выбранного страна.
поэтому, пожалуйста, КАК Я МОГУ НАСЕЛИТЬ МАРШРУТ С ФИЛЬТРИРОВАННЫМИ РЕЗУЛЬТАТАМИ, ЧТОБЫ Я МОГУ ВЕРНУТЬ ЕГО ВИДЕВ С ИСПОЛЬЗОВАНИЕМ JSON? Я хочу использовать ЭТОТ код, который я опубликовал, так как это был ЕДИНСТВЕННЫЙ, который когда-либо работал. Мне просто нужно поменять жестко закодированные значения на правильные. вот где у меня проблемы.
пожалуйста, помогите мне.