1. ASP.NET(C#) MVC jsonResult Kendo Grid
1.你自己多看看er:Controller
{
//
//GET:/Home/
publicActionResultIndex()
{
returnView();
}
()
{
vardt=newDataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
for(inti=0;i<20;i++)
{
vardr=dt.NewRow();
dr["Id"]=i;
dr["Name"]="樓主"+i;
dt.Rows.Add(dr);
}
varjson=DataTableToJson(dt);
JavaScriptSerializerser=newJavaScriptSerializer();
varlist=ser.Deserialize<dynamic>(json);
returnJson(list,JsonRequestBehavior.AllowGet);
}
[NonAction]
publicstringDataTableToJson(DataTabledt)
{
StringBuilderJson=newStringBuilder();
Json.Append("[");
if(dt.Rows.Count>0)
{
for(inti=0;i<dt.Rows.Count;i++)
{
Json.Append("{");
for(intj=0;j<dt.Columns.Count;j++)
{
Json.Append("""+dt.Columns[j].ColumnName.ToString()+"":""+dt.Rows[i][j].ToString()+""");
if(j<dt.Columns.Count-1)
{
Json.Append(",");
}
}
Json.Append("}");
if(i<dt.Rows.Count-1)
{
Json.Append(",");
}
}
}
Json.Append("]");
returnJson.ToString();
}
}
View
<script>
$(document).ready(function(){
$("#grid").kendoGrid({
dataSource:{
dataType:"json",
transport:{
read:"@Url.Action("BindDataTable")"
},
pageSize:5
},
height:270,
sortable:true,
pageable:true,
columns:[{
field:"Id",
width:50
},
{
field:"Name",
title:"Name",
width:400
}
]
});
});
</script>
<div>
<divid="grid"></div>
</div>