【发布时间】:2014-06-14 07:43:28
【问题描述】:
我正在尝试在 ASP.NET MVC 5 中使用 Teleric 的 Kendo Grid。我正在按照此处的示例进行操作,但该网格没有填充数据。列显示,但它显示“没有要显示的项目”。
这是我的单词/阅读功能:
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
var items = db.Words.Take(1).ToList();
//this code was necessary to get the correct JSON result
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
var converted = JsonConvert.SerializeObject(items, null, jsSettings);
return Content(converted);
}
我从 Words/Read 中得到以下 JSON 结果:
[{"WordId":1,"Rank":1,"PartOfSpeech":"article","Image":"Upload/29/1/Capture1.PNG","FrequencyNumber":"22038615","Article":null,"ClarificationText":null,"WordName":"the | article","MasterId":0,"SoundFileUrl":"/UploadSound/7fd752a6-97ef-4a99-b324-a160295b8ac4/1/sixty_vocab_click_button.mp3","LangId":1,"CatId":null,"IsActive":false}]
最后是我的查看页面:
@(Html.Kendo().Grid<NextGen.Models.Word>
()
.Name("grid")
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(15)
.Read(read => read.Action("Read", "Words"))
)
.Columns(columns =>
{
columns.Bound(c => c.WordName);
columns.Bound(c => c.PartOfSpeech);
})
.Pageable()
.Sortable()
)
我看到了一些与此类似的问题,但大多数使用的是 Javascript 而不是 Html 帮助程序。我在做傻事吗?
【问题讨论】:
-
我认为 /"s 是个大问题。它对我的 Json 进行了双重序列化,但我不知道如何摆脱它。我需要传入 JSONSerializer 设置以避免引用循环,但我也不能只返回转换值。有没有办法可以将 JSONSerializer 设置传递给 JSON 调用?
-
对该评论得到了很好的回答,尽管整个代码仍然无法正常工作。
标签: asp.net-mvc json kendo-grid