我在嘗試將KendoUi網格與來自控制器的Json數據綁定時遇到了一些問題。事情似乎很好,我的JSON對象包含數據,但尚格沒有顯示任何東西:無法將JSON數據綁定到KendoUI網格
,我在鉻收到此錯誤JavaScript控制檯:
GET http://localhost:8084/Records?take=5&skip=0&page=1&pageSize=5 500 (Internal Server Error)
在View
:
<div id="grid">
</div>
<div>
<script type="text/javascript">
$(document).ready(function() {
$("#grid").kendoGrid({
dataSource: {
type: "json",
serverPaging: true,
pageSize: 5,
groupable: true,
selectable: "row",
transport: { read: { url: "Records", dataType: "json"} }
},
height: 400,
scrollable: true,
sortable: true,
filterable: true,
pageable: true,
columns: [
{ field: "No", title: "No" },
{ field: "Desc", title: "Description" },
{ field: "priority", title: "Priority" },
{ field: "decision", title: "Decision" }
],
dataBound: function() {
this.expandRow(this.tbody.find("tr.k-master-row").first());
}
});
});
</script>
在Controller
:
public ActionResult GetRecords()
{
var obj = new User();
var jsnRslt = obj.GetResult(Session["id"].ToString());
//return Json(jsnRslt);
return Json(jsnRslt, JsonRequestBehavior.AllowGet); //Changed as suggested by Dismissile
}
在Model
:
public object GetResult(string usrId)
{
…
….
….. try
{
int i = 0;
if (rcrds != null || rcrds.HasRows)
{
jsonWriter.WriteStartObject();
while (rcrds.Read())
{
for (int j = 0; j < rcrds.FieldCount; j++)
{
jsonWriter.WritePropertyName(rcrds.GetName(j));
jsonWriter.WriteValue(rcrds.GetValue(j));
}
i++;
}
jsonWriter.WriteEndObject();
}
}
catch (Exception ex) { }
return jsonWriter;
}
}
請幫助。
內部服務器錯誤是說在服務器上執行過程中出現問題。你是否用斷點調試你的應用程序? – 2013-03-25 14:05:27
也許我錯了,但你發佈到你的服務器,但你的行動將接受你的參數在哪裏? – 2013-03-25 14:08:22
是的,直到'Controller'中的這一行返回Json(jsnRslt);'一切都很好..JSON對象具有所需的數據和所有。 – Maven 2013-03-25 14:08:51