Json.Encode(Model) returns empty



在ASP.NET MVC视图中,尝试显示列表中的文本,该列表一次显示一个文本。

脚本完成了它的工作,但由于某种原因,将List转换为JSON对象失败。List对象到达具有正确值的视图,但转换尝试返回一个空的JSON对象。

视图:

@model List<WebSiteUpravitelj.Models.BlogModels.Objava>
<a href="/Blog/Objave">
<div>
<h2>Novosti</h2>
@if (Model != null)
{
<script>
    $(document).ready(
        function () {
         var list = "@Html.Raw(Json.Encode(Model))";            
            for (var i = 0; i < 2; i++)
            {
                $('#spinNaslov').slideUp(300).delay(800).fadeIn(400).text(list[i].Naslov);
                $('#spinBloger').delay(400).fadeIn(200).text(list[i].Korisnik + ', ' + list[i].Datum);
            }            
        });
    </script>
    <div id="novostiSpin">
        <h2 id="spinNaslov" style="text-align:center; color:#fed8e6;"></h2>
        <span id="spinBloger" style="float:right; color:#999898; padding:5px;"></span> 
    </div><br />       
}
else
{ 
    <p>Trenutno nema novih objava u novostima.</p>
}
</div>
</a>

控制器:

    public ActionResult _Novosti()
    {
        List<Objava> oList = Objava.Novosti();
        return PartialView(oList);
    }

型号

public class Objava:List<Objava>
{
    public int id { get; set; }
    public string Naslov { get; set; }
    public string Datum { get; set; }
    [AllowHtml]//System.Web.Mvc;
    public string Sadrzaj { get; set; }
    public string Korisnik { get; set; }
}

我想我做错了什么,但我真的不知道是什么。

请帮忙。

问题解决了,问题在模型中。Model Objave继承了List,因此在创建列表时,每次在对象中插入空的Property of List。从那里空的JSON对象。当转换为JSON时,其他属性(有值)将被忽略。在解决方案中,我删除了基本列表,并创建了用于创建列表的静态方法。现在一切都在运转。感谢您抽出时间

最新更新