Я передаю информацию от контроллера к виду следующим образом:
return View(data);
Как я могу получить доступ к этим данным в представлении так, чтобы привязать данные к KendoDataGrid? У меня есть следующий код:
@model IEnumerable<MyCustomerModel>
<div id="StatementGrid"></div>
<script>
$(document).ready(function() {
var lines = [{ TransactionDate: "01/01/2014", TransactionNumber: "001" }];//this works
var lines2 = @model //How to pass the model information here?
var grid = $("#StatementGrid").kendoGrid({
columns: [
{ field: "TransactionDate", title: "Date" },
{ field: "TransactionNumber", title: "Transaction Number" }
],
dataSource: {
data:lines
//data:lines2 //this does not work
}
});
});
</script>
Вы могли бы Json закодировать вашу модель и задать для вашей строки строк JavaScript значение равное этому значению следующим образом:
@model IEnumerable<MyCustomerModel>
<div id="StatementGrid"></div>
<script>
$(document).ready(function() {
var lines = @Html.Raw(Json.Encode(Model))
var grid = $("#StatementGrid").kendoGrid({
columns: [
{ field: "TransactionDate", title: "Date" },
{ field: "TransactionNumber", title: "Transaction Number" }
],
dataSource: {
data:lines
}
});
});
</script>
Вам нужно будет установить тип данных даты и формат, но он будет работать. Это, как говорится, я НЕ рекомендую этот подход во ВСЕХ. Вместо этого я бы посмотрел документацию Telerik о том, как связывать с помощью удаленных или локальных данных по следующим ссылкам и следовать их указаниям: