在ASP.NET MVC视图中尝试显示一次显示一个列表的文本。
脚本完成其工作但由于某种原因,转换列表到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; }
}
我想我做错了什么,但我真的不知道是什么。
请帮忙。
答案 0 :(得分:0)
问题解决了,问题出在模型中。模型Objave继承List,因此在创建列表时,每次在对象中插入列表的属性为空。从那里空JSON对象。转换为JSON时,将忽略其他属性(具有值)。解决方案,我删除了基本List并创建了用于创建列表的静态方法。现在一切正常。谢谢你的时间