首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >处理layui序列化表格报错

处理layui序列化表格报错

作者头像
凉凉心.
发布2025-10-13 15:50:18
发布2025-10-13 15:50:18
830
举报
文章被收录于专栏:CSDN专栏CSDN专栏

0、 为什么报错?

在解决问题前,是否经过这样的报错?

请添加图片描述
请添加图片描述

说序列化类型未xxx的对象时检测到循环引用? 这种大概率是因为在数据库设计时键值与外键等字段产生冲突,导致控制器产生循环使用

尽管在控制器中数据已经查询出来,但是依旧报错。

当然,如果以调试数据库字段来解决这个问题,那么也是可以的,只不过更麻烦罢了。

1、 layui表格序列化的过程

在使用layui的table组件时,它需要的是一个含有data,msg,code,count的类来接收所收到的数据,某些方面来说,传值时强制设置code不为0也可以解决table组件code为0的错误。 而在这里,我们在控制器中查询出来的数值都存在于这个类的data属性中,而count就是查询出来的数值的总数。

我们必须保证data属性是一串数组,以数组的形式包裹着对应数值对象

请添加图片描述
请添加图片描述

2、 传入视图时layui的格式

而光是控制器是数组还不行,从控制器传值到视图中,传值的格式必须是以json格式进行传值,所以有相关报错也可以先试着转换成json格式,再将值传入视图。

尽管说,json本身就是以一个数组的形式来传输,但,数组这玩意,不就是通用于大多数编程语言中的吗?

3、 处理方式

如何序列化的问题?其实很简单,我们只需要一行代码即可。

代码语言:javascript
复制
db.Configuration.ProxyCreationEnabled = false;

将这行代码放在查询命令前,就可以省略循环引用的问题,默认ProxyCreationEnabled属性为true

例如:

代码语言:javascript
复制
myModels.Configuration.ProxyCreationEnabled = false;// 解决循环引用
var linqResult = myModels.B_AmountType.Single.ToList();// 查询语句
return Json(linqResult, JsonRequestBehavior.AllowGet); // 返回查询结果至视图

如果你不明白此处的db和myModels的话,我解释的话:db即你数据库的实例对象,myModels即你数据库的实例对象的接收变量

请添加图片描述
请添加图片描述

即上图的声明数据库实例对象 因为数据库在mvc中是一个映射内容,因此,我们并不能直接使用。

以上,本篇内容完结。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0、 为什么报错?
  • 1、 layui表格序列化的过程
  • 2、 传入视图时layui的格式
  • 3、 处理方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档