mvc EF框架中,加载外键对象序列化对象时报错 序列化类型为XX的对象时检测到循环引用

Newtonsoft.Json.dll 或者通过-》工具-》库程序包管理工具-》NuGet管理包-》联机 输入Newtonsoft或者json.net

Newtonsoft.Json是可以的:

context.Response.ContentType = "text/plain";
BooksService service = new BooksService();
List<Books> list=service.GetAll().Take(5).ToList();
JsonSerializerSettings setting = new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

strintret = JsonConvert.SerializeObject(list, setting);
context.Response.Write(ret);

easyui 代码

$(‘#BooKlist‘).datagrid({
url: ‘BookHandler.ashx?flag=GetBookList‘,
pagination: true,
pageList: [5, 15, 20, 25],
pageSize: 5,
columns: [[
{ field: ‘Title‘, title: ‘书名‘, width: 120 },
{ field: ‘Author‘, title: ‘作者‘, width: 120 },
{ field: ‘ISBN‘, title: ‘ISBN‘, width: 120 },
{
field: ‘Publishersid‘, title: ‘出版社‘, width: 120,
formatter: function (value, row, index) {
return row.Publishers.Name;
}

},
{
field: ‘CategoryId‘, title: ‘书类别‘, width: 120,
formatter: function (value, row, index) {
return row.Categories.Name;
}
}

]]
});

原文地址:https://www.cnblogs.com/wlzhang/p/8994243.html

时间: 2024-10-15 15:32:44

mvc EF框架中,加载外键对象序列化对象时报错 序列化类型为XX的对象时检测到循环引用的相关文章

在Python的Django框架中加载模版的方法

在Python的Django框架中加载模版的方法 为了减少模板加载调用过程及模板本身的冗余代码,Django 提供了一种使用方便且功能强大的 API ,用于从磁盘中加载模板, 要使用此模板加载API,首先你必须将模板的保存位置告诉框架. 设置的保存文件就是settings.py. 如果你是一步步跟随我们学习过来的,马上打开你的settings.py配置文件,找到TEMPLATE_DIRS这项设置吧. 它的默认设置是一个空元组(tuple),加上一些自动生成的注释. TEMPLATE_DIRS =

EF框架中加子类后出现列名 &#39;Discriminator&#39; 无效问题

类中有些属性,特别是一些通过计算或合并列得出的结果,我们并不需要其记录到数据库中,就可以通过配置不让它生成在数据库中. 在子类上加上 [NotMapped] 声明即可!这样此类就会忽略映射. EF框架中加子类后出现列名 'Discriminator' 无效问题

在mvc返回JSON时出错:序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用 的解决办法

在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResult GetSdirsbyFdirid(int id) { // db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; List<Seconddirectory> lis

php ci框架中加载css和js文件失败的原因及解决方法

在将html页面整合到ci框架里面的时候,加载css和js失败.原因是ci框架是入口的框架 对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件的时候要使 用base_url()函数处理外部的链接. 在控制器中需要先载入url相关的类 public function test() { $this->load->helper('url'); $this->load->view('admin/test'); } 在test.php的view视图中.

MVC+EF 序列化类型为“System.Data.Entity.DynamicProxies.__的对象时检测到循环引用

用MVC+EF做简单查询时,返回json格式数据出现问题 原代码: public ActionResult JSon({ NorthwindEntities db = new NorthwindEntities(); Employees per = db.Employees.Where(u => u.EmployeeID == 1).FirstOrDefault(); return Json(per, JsonRequestBehavior.AllowGet); } 报错: 个人记录最简单而行之

EF提示“序列化类型为XXX的对象时检测到循环引用”

能看到这个标题 ,我就用解释原因,网上很多,我只给大家一个解决方案会: public <#=code.Escape(entity)#> ToPOCO() { return new <#=code.Escape(entity)#>() { <# if (simpleProperties.Any()) { foreach (var edmProperty in simpleProperties) { #> <#=codeStringGenerator.Property

关于EF的 序列化类型为“XXX”的对象时检测到循环引用。

在用Ef的时候,也许经常会遇到循环引用的错误. 下面提供解决办法.(不是Json.Net,如果是Json.Net可以给导航属性通过增加特性标签来解决该问题) ef大多数问题,可以通过ToList()来解决.当这个问题解决不来的时候,你可以选择下面这种方法. IQueryable<TopicInfo> topicInfos = _topicInfoService.GetPagedEntitesQueryable(pageSize, pageIndex, wherelambda, t =>

EF中Json序列化对象时检测到循环引用的解决办法

第一种方法:使用Newtonsoft.Json中的方法注释,在Json序列化的时候忽略导航属性 例:using Newtonsoft.Json; public class Users { public int Id { get; set; } public string LoginId { get; set; } public string LoginPwd { get; set; } [JsonIgnore] public virtual ICollection Roles { get; se

ASP.NET MVC中加载WebForms用户控件(.ascx)

原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControls.Calendar),它会为“上一月”.“下一月”的链接生成"__doPostBack()"的js调用,如下图: 目前发现它会带来两个问题: 1. 不支持IE10: 2. 某些电脑不允许执行__doPostBack. 问题提炼 前提: 我们想以最低的成本解决这个问题,也就是对当前代码尽可