c# - 将复杂对象返回到视图
问题描述
我正在从控制器返回一个对象以查看,但它并不总是有效。当对象包含对象列表时它不起作用,如果列表为空则它起作用(html rData3 用文本更新)。
1 - 我要返回的对象:
public class Etiqueta
{
public int Id { get; set; }
public string Nombre { get; set; }
public List<EtiquetaFoto> EtiquetasFotos { get; set; }
}
2 - 控制器:
public class FotosController : Controller
{
public JsonResult Etiqueta(string Id)
{
var sa = new JsonSerializerSettings();
Etiqueta etiq = _context.Etiquetas.Where(x => (x.Id.ToString() == Id)).Include(x => x.EtiquetasFotos).First();
return Json(etiq,sa);
}
}
3 - 视图:
<script type="text/jscript">
$("button").click(function () {
var cID = $(this).attr('id');
$.getJSON('/Fotos/Etiqueta/' + cID, function (data) {
var items = "";
items += data.Id + " - " + data.Nombre;
$('#rData3').html(items);
});
})
</script>
当对象具有带有数据的列表 EtiquetasFotos 时,我应该怎么做?
解决方案
您可以在循环引用之前添加 [JsonIgnore] 注释。
推荐阅读
- javascript - 使用第一个按钮提交表单,该按钮在具有多个按钮的表单中启用
- python - 附加数据帧时如何提高嵌套for循环的运行时间(非常大)
- javascript - UI5 Grid Table Drag & Drop 什么是排名?
- java - 如何将 StringBuffer 的最后一个字符转移到开头?
- javascript - 在没有原始图像的情况下检测屏幕截图图像的伪影、有损压缩或模糊
- arduino - ESP32 发送包含超过前 4 个字节的随机数据的数据包
- c++ - 如何在 CGAL 中迭代中观骨架?
- node.js - 登录前检查多个角色
- javascript - 有什么办法可以删除这个字符串的第一部分?
- excel - 如何与多个值进行水平索引匹配