Я все еще новичок в этом, поэтому я попытаюсь объяснить, что я делаю. По сути, я хочу загрузить выпадающий список в зависимости от значения предыдущего, и я хочу, чтобы он загружал данные и отображался при изменении другого. Это код, который я написал в моем контроллере:
public ActionResult GetClassesSearch(bool ajax, string phylumID, string kingdom){
IList<TaxClass> lists = null;
int _phylumID = int.Parse(phylumID);
int _kingdom = int.Parse(kingdom);
lists = _taxon.getClassByPhylumSearch(_phylumID, _kingdom);
return Json(lists.count);
}
и вот как я вызываю метод из функции javascript:
function loadClasses(_phylum) {
var phylum = _phylum.value;
$.getJSON("/Suspension/GetClassesSearch/",
{ ajax: true,
phylumID: phylum,
kingdom: kingdom
},
function(data) {
alert(data);
alert('no fallo')
document.getElementById("pClass").style.display = "block";
document.getElementById("sClass").options[0] = new Option("-select-", "0", true, true);
//for (i = 0; i < data.length; i++) {
// $('#sClass').addOption(data[i].classID, data[i].className);
//}
});
}
HTML-код связан с:
<p id="pPhylum">
<%= Html.Label("Phylum: ") %>
<%= Html.DropDownList("sPhylum",
(SelectList)ViewData["PhyRecID"],
"--Select One--",
new { onchange = "loadClasses(this);" }
)%>
</p>
<p id="pClass">
<%= Html.Label("Class: ") %> <select id="sClass"></select>
</p>
Дело в том, что так же, как это работает, я передаю функцию количество классов в выбранном типе, и она отображает элемент pclass, проблема возникает, когда я пытаюсь заполнить слайс данными (которые должны содержать объекты, извлеченные из базы данных), потому что когда есть данные, возвращенные изменением базы данных, возвращайте Json (списки) вместо возврата Json (lists.count), я продолжаю получать ту же ошибку:
Обнаружена циклическая ссылка при сериализации объекта типа SubSonic.Schema.DatabaseColumn.
Я много раз отлаживал и делал тесты, но я не могу заставить его работать, и предполагается, что это простая вещь, но я что-то упускаю. Я прокомментировал цикл for, потому что я не совсем уверен, так ли вы обращаетесь к данным, потому что я не смог заставить его работать, когда он находит записи. Кто-нибудь может мне помочь?
Заранее спасибо,
Victor