首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONResult的问题

JSONResult的问题
EN

Stack Overflow用户
提问于 2010-03-18 19:00:43
回答 1查看 361关注 0票数 1

我对此还很陌生,所以我会试着解释一下我在做什么。基本上,我想要的是根据前一个下拉列表的值加载一个下拉列表,我希望它加载数据并在另一个更改时出现。这是我在控制器中编写的代码:

代码语言:javascript
复制
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函数调用该方法的方式:

代码语言: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为:

代码语言:javascript
复制
<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元素,当我试图用数据填充slist (应该包含从数据库检索的对象)时,问题就出现了,因为当数据库返回的数据更改为return Json(List)而不是return Json(lists.count)时,我总是得到相同的错误:

序列化'SubSonic.Schema.DatabaseColumn‘类型的对象时检测到循环引用。

我一直在反复调试和测试,但我不能让它工作,这应该是一件简单的事情,但我遗漏了一些东西。我对for循环进行了注释,因为我不太确定这是否是访问数据的方式,因为当它找到记录时,我无法使其工作。有谁可以帮我?

先谢谢你,维克多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-23 18:27:41

最后我解决了这个问题。问题是,由于某种原因,JSON不能显示相互引用的对象,这些对象在外键等方面存在问题。我只用数据库中需要的字段创建了一个新类,并用foreach语句填充它。然后我将填充的IList传递给return Json,它起作用了……

谢谢你的帮助,维克多

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2469227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档