0

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

该脚本完成了它的工作,但由于某种原因,将列表转换为 JSON 对象失败。列表对象以正确的值出现在视图中,但转换尝试返回一个空的 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; }
}

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

请帮忙。

4

1 回答 1

0

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

于 2013-08-09T17:03:23.810 回答