asp.net – 在序列化“System.Reflection”类型的对象时检测到循环引用
发布时间:2020-05-23 05:21:44 所属栏目:asp.Net 来源:互联网
导读:我有一个asp.net MVC 3控制器操作方法如下: public JsonResult GetRecordingRates(int Id){ ListDefaultRateChart defaultRateCharts = new ListDefaultRateChart(); using (IDefaultRateChartManager d
|
我有一个asp.net MVC 3控制器操作方法如下: public JsonResult GetRecordingRates(int Id)
{
List<DefaultRateChart> defaultRateCharts = new List<DefaultRateChart>();
using (IDefaultRateChartManager defaultRateChartManager = new ManagerFactory().GetDefaultRateChartManager()) {
defaultRateCharts = defaultRateChartManager.GetAll().Where(rc => rc.Currency.Id == Id && (!rc.NumberPrefix.StartsWith("#") || rc.NumberPrefix.StartsWith("Default")) && rc.AccountCredit == "Credit").ToList();
}
return Json(defaultRateCharts);
}
我想发送这个列表到jquery ajax成功的方法,但我得到500内部服务器错误 我的ajax电话是这样的: $.ajax({
type: "POST",dataType: "json",url: "/Home/GetRecordingRates",data: {
Id: $("#hdCurrencyId").val()
},success: function (data) {
alert(data);
}
});
在firebug XHR的响应标签下,它说: 在序列化“System.Reflection.RuntimeModule”类型的对象时检测到循环引用. [编辑] 我把这个动作方法改成了: public JsonResult GetRecordingRates(int Id)
{
List<DefaultRateChart> defaultRateCharts = new List<DefaultRateChart>();
using (IDefaultRateChartManager defaultRateChartManager = new ManagerFactory().GetDefaultRateChartManager())
{
defaultRateCharts = defaultRateChartManager.GetAll().Where(rc => rc.Currency.Id == Id && (!rc.NumberPrefix.StartsWith("#") || rc.NumberPrefix.StartsWith("Default")) && rc.AccountCredit == "Credit").ToList();
}
return this.Json(
new
{
Result = (from obj in defaultRateCharts select new { Id = obj.Id,DialPrefix = obj.NumberPrefix,Rate = obj.PurchaseRates })
},JsonRequestBehavior.AllowGet
);
}
我现在没有得到这个错误,但是如何解析ajax成功的集合.我改变了成功跟随,但它没有在表中添加行. success: function (data) {
var row = $('<tr>');
for(var i = 0; i < data.length; i++) {
row.append($('<td>').html(data[i]));
}
$('#results').append(row);
jQuery('#RecordingRates').dialog({ cloSEOnEscape: false });
$(".ui-dialog-titlebar").hide();
$("#RecordingRates").dialog({ dialogClass: 'transparent' });
$('#RecordingRates').dialog('open');
}
});
在Firebug Net => XHR => Json,它显示以下JSON: [Object { Id=
1,DialPrefix=
"1",Rate=
2.6
},Object { Id=
3,DialPrefix=
"2",Object { Id=
5,DialPrefix=
"7",Rate=
3.5
},3 more...]
0
Object { Id=
1,Rate=
2.6
}
1
Object { Id=
3,Rate=
2.6
}
2
Object { Id=
5,Rate=
3.5
}
3
Object { Id=
7,DialPrefix=
"8",Rate=
6
}
4
Object { Id=
9,DialPrefix=
"Default",Rate=
5
}
5
Object { Id=
15,DialPrefix=
"Subscription",Rate=
15
}
解决方法
您正在返回一个包含以下字段的集合:Id,DialPrefix,Rate,而您没有使用它们. var row = $('<tr>');
for(var i = 0; i < data.length; i++) {
row.append($('<td>').html(data[i]));
}
$('#results').append(row);
您需要将它们添加到您的循环中: row.append($('<td>').html(data[i].DialPrefix));
row.append($('<td>').html(data[i].Rate)); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在Visual Studio 2015中快速解析命名空
- ASP.Net便携式服务器
- 如何在ASP.NET MVC 4 Beta中禁用Javascript/CSS缩小
- asp.net – 微软azure smtp电子邮件中继设置
- asp.net – sitecore模板标准值布局不更新所有项目,布局未加
- asp.net – Mono apache2 =服务暂时不可用(503)
- asp.net-core – ASP.NET核心DisplayAttribute本地化
- asp.net – 在Owin有来自Global.asax的Application_End吗?
- ASP.NET图表在数字旁边添加百分比
- ASP.NET MVC 3 – 处理多个域并共享单个代码库
推荐文章
站长推荐
- asp.net-mvc – 从ModelMetaData获取另一个属性的
- 带有子项的ASP.NET自定义/用户控件
- asp.net – 这些Web Essentials选项有什么作用?
- ASP.NET C#ListBox服务器控件不会禁用
- asp.net-mvc – Visual Studio 2010 Web发布缺少
- asp.net-mvc – 哪个选择:ASP.NET MVC或RESTful
- 如何不缓存ASP.NET用户控件?
- asp.net – 从Web页面录制音频
- asp.net-mvc – 使用ASP.NET MVC 3.0进行日期验证
- asp.net-mvc – ASP.NET MVC获取具有特定配置文件
热点阅读
