Я пытаюсь распечатать данные, поступающие с контроллера в таблицу, но не в состоянии сделать это. Я использую Kendo UI template
для печати. Я прилагаю код ниже вместе с ошибкой, которую я получаю.Невозможно распечатать данные в сетке
<div id="example"></div>
<script>
$.ajax(
{
type: 'POST',
url: '/default1/KendoDataAjaxHandle/',
dataType: 'json',
success: function (result) {
//Get the external template definition using a jQuery selector
var template = kendo.template($("#javascriptTemplate").html());
console.log(result);
var data = template(result); //Execute the template
$("#example").html(data); //Append the result
}
})
</script>
<script id="javascriptTemplate" type="text/x-kendo-template">
<table>
<thead>
<tr>
<th>Customer ID</th>
<th>Customer name</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
# for (var i=0; i < result.length; i++){ #
<tr>
# for (var j=0; j < result[i].length; j++){ #
<td>
#= result[j] #
</td>
# } #
</tr>
# } #
</tbody>
</table>
</script>
Что я делаю в приведенном выше коде вносит АЯКС вызов метода действий и получения результатов в формате JSON. Вот мой метод контроллера:
public ActionResult KendoDataAjaxHandle([DataSourceRequest]DataSourceRequest request)
{
IQueryable<Customer> products = db.Customers;
DataSourceResult result = products.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
ошибка, я получаю на выполнение кода является: результат не определен. Однако при утечке результатов, возвращаемых после вызова ajax, я получаю объект, который имеет все значения.
Как напечатать эти значения, возвращаемые в таблицу? Также, пожалуйста, поправьте меня, если я сделал что-то не так. Заранее спасибо.
Спасибо, что ответ Стивен. Похоже, что ошибка изменилась после «результата» на «данные». Но сейчас я не вижу никаких данных в таблице. Мой возвращенный массив представляет собой пару ключевых значений в качестве CustomerAltID: «IMI-001» CustomerID: 1 CustomerName: «Генри Форд» Пол: «М». Как я могу повторить это. Не могли бы вы показать это в додзё. Спасибо за ваше время. –
Я пробовал с вашим обновленным кодом и по hardcoding значениям, я получаю результат, но когда я пытаюсь получить данные с контроллера, он снова не показывает никаких данных. Это то, что я получаю, когда я console.log (result) 'Object {Data: Array [15], Total: 15, AggregateResults: null, Errors: null}' –
Что находится в массиве [15]? Обычно вы возвращаетесь: {«Данные»: [{«Поле1»: значение1, «Поле2»: значение2 ...}, {«Поле1»: значение1, «поле2»: значение2 ...}, ...] , «Всего» ...} Вы должны написать свой код шаблона так, чтобы он соответствовал схеме возвращаемых данных. –