グリッドにJSONレスポンスを動的にバインドしようとしています。私はReadData()
にいつ呼び出すかを制御できるように、autobind = false
を設定しました。JSONをMVCの剣道グリッドデータソースにバインドする方法
私は以下のような簡単な例があり、私は仕事に就くことができません。私はクロムで開発ツールを使用し
public ActionResult ReadData()
{
var model = new[]
{
new MyModel
{
Name = "Abc",
Age = 10
},
new MyModel
{
Name = "PersonName",
Age = 25
},
};
return Json(model, JsonRequestBehavior.AllowGet);
}
を有するコントローラで
ビュー(CSHTML)において@(Html.Kendo().Grid<MyModel>()
.Name("GridDetail")
.AutoBind(false)
.DataSource(ds =>
{
ds.Ajax().Read(r =>
{
r.Action("ReadData", "Home"); //action in Home controller
});
})
.Columns(c =>
{
c.Bound(m => m.Name);
c.Bound(m => m.Age);
})
)
@section Scripts{
<script type="text/javascript">
$(function() {
var grid = $("#GridDetail").data("kendoGrid");
grid.dataSource.read();
});
</script>
}
IはReadData()
に対する応答が[{"Name":"Abc","Age":10},{"Name":"PersonName","Age":25}]
がレンダリンググリッドであることがわかります列名のみが表示されますが、データ列は表示されません。
mymodelという簡単なクラスである:
public class MyModel
{
public string Name { get; set; }
public int Age { get; set; }
}