在ASP.net MVC里用Jquery的Ajax功能调用相关LinqtoSQL生成的类出现错误---循环引用
2009-09-10 12:23
811 查看
Linq to sql里实体转换为JSON的问题.
在学习段asp.net mvc 后.本想用做个这样的项目.只是在这里前台与后台通过xml通信不是我所喜欢的.直到学习到JSON的传输,我想这就是我要用的了.如下.用Linq to sql来对象化数据.然后准备OK.先用JSON
下下来做个例子看看前台与后台如何用JSON通信.后台如下.
public JsonResult GetJson()
2
7 public ActionResult JqueryDemo(string content,string param)
8 function DoSomething()
2 function GetByJquery()
9 public JsonResult GetTitle()
2 function GetJson()
13 {
14{
15{
22{
24{
32{
36{
38 var row = $("#see").clone();
39 row.find("#title").text(n.Title);
40 row.show();
41 row.appandTo("#see");
42 })
43 })
44 }
到这里就有问题了.首先我想到是前台有问题,与是用IE8.0的调试器,呵呵,比较好用(本来老是用IE6的,因为想看某位牛人
的文章没办法才改的)发现了个好调试器.下断点后发现根本到不了success里.没办法.查找Jquery里的函数.发现这个
complete.不管成功与否,都用给你调用.我下断点到里.可以看到有个错误提示比较有用 --------- 循环引用--------.
但是不理解其含义.与是调试后台.MVC下有个json因为调试里信息不全,在网上找到json.net下来引用.发现还是解决不了.没办法
我把json.net项目加入到我的解决方案.然后开始跟踪调试.后终于找到错误地方.如下
这里后就会转入错误,最后我在这里分析后,然后查看linq to sql为我生成的代码.发现问题所在.如下所示.
在这里我看到了voteTitle.我说下的的结构吧.vote-问卷.votetitle-问卷题目.titleitem-题目选项.
vote-votetitle 一对多,votetitle-titleitem 一对多.
本身这里是要根据反射在找votetitle里的属性,votetitle里因为包括titleitem,这也没什么.就找到titleitem,然后他又查找
titleitem里的属性.这下问题来了.因为titleitem里有个属性就是原votetitle,这下好了,他又开始找votetitle了,形成了我所
开始不知道的循环引用.
下面给出linq to sql为我生成的代码.
在这得到原因.解决方法那就很多了.我就用json.net里的linq.如下.
var rss = from title in titles
select new { Title = title.Title, Statue = title.Statue };
string ss = JsonConvert.SerializeObject(rss);
这里生成的结果大家有想不通的可以看我前一遍文章.
/article/5098188.html
最后感想.有个好的调试工具真的不错.(在大学里学java我就是因为受不了那个java给我的错误原因.转投到VC6,现在到VS).
本人水平有限,有什么错误的地方,希望大家指出.谢谢.
相关文章推荐
- asp.net、mvc、ajax、js、jquery、sql、EF、linq、netadvantage第三方控件知识点笔记
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
- 【译】Asp.net MVC并不仅仅只是Linq to SQL
- Using JQuery to perform Ajax calls in ASP.NET MVC
- asp.net MVC中怎样让LINQ Designer自动生成的类从别的类继承并调用其基类构造器?
- Asp.net MVC、Extjs(运用Linq to SQL和List泛型)批量更新、删除、打印(使用CKEditor)、导出Excel
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
- asp.net MVC中怎样让LINQ Designer自动生成的类从别的类继承并调用其基类构造器?
- ASP.NET 程序中出现语法错误,影响ajax调用
- 关于在Webservice里使用LinqToSQL遇到一对多关系的父子表中子表需要ToList输出泛型而产生循环引用错误的解决办法!(转)
- Spring mvc @ResponseBody jquery ajax调用出现如下错误:406 Not Acceptable
- Asp.Net MVC 模型(使用LINQ to SQL创建Model类)
- Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
- Asp.Net MVC结合Linq to SQL实现CRUD
- Asp.net MVC 模型(Entity Framework、LinqToSql、显示数据库数据表格)
- 一起谈.NET技术,【译】ASP.NET MVC并不仅仅只是Linq to SQL
- asp.net MVC中怎样让LINQ Designer自动生成的类从别的类继承并调用其基类构造器?
- ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息
- 在asp.net mvc中创建使用Linq to sql的分页控件