首页 > 解决方案 > 将复杂对象返回到视图

问题描述

我正在从控制器返回一个对象以查看,但它并不总是有效。当对象包含对象列表时它不起作用,如果列表为空则它起作用(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 时,我应该怎么做?

标签: c#ajaxasp.net-core-mvc

解决方案


您可以在循环引用之前添加 [JsonIgnore] 注释。


推荐阅读