Я очень хорошо знаком с jQuery AJAX и использую его постоянно.Пользовательский интерфейс Kendo построен на основе jQuery и его использования AJAX.Взаимодействие с & передачей параметров в HttpHandler легко с помощью jQuery, вы просто делаете следующее:
ИСПОЛЬЗОВАНИЕ JQUERY AJAX:
$.ajax({
complete: self.onComplete,
data: { SiteId: 777 }, // <--- this gets appended to the post
dataType: 'json',
error: self.onError,
success: self.onSuccess,
url: self.url
});
МОЙ ВЫПУСК: Я пытаюсь найти эквивалентный вызов KendoUI для data
(выше).
- В то время как сетка ДОЛЖНА заполняться данными, переданными мне из HttpHandler
- Параметрыне передается в HttpHandler (см. ниже)
КОД КЕНДО СМОТРИТ, КАК:
<script type="text/javascript">
$(document).ready(function () {
var dataSource = new kendo.data.DataSource({
transport:
{
read: {
url: "Handlers/Attempt1Synch.ashx",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
data: { SiteId: 777 }
}
// parameterMap: function (data, operation) {
// return JSON.stringify(data);
// }
},
schema: { data: "People" }
});
$("#grid").kendoGrid({
height: 360,
width: 500,
dataSource: dataSource,
groupable: true,
scrollable: true,
sortable: true,
pageable: true,
columns:
[{
field: "Id",
width: 0
},
{
field: "FirstName",
width: 90,
title: "First Name"
},
{
field: "LastName",
width: 90,
title: "Last Name"
},
{
width: 100,
field: "City"
},
{
field: "Title"
},
{
field: "BirthDate",
title: "Birth Date",
template: '#= kendo.toString(BirthDate,"dd MMMM yyyy") #'
},
{
width: 50,
field: "Age"
}]
});
});
</script>
<div id="grid">
</div>
МОЙ HTTP HANDLER СМОТРЕТЬ, КАК:
public class Attempt1Synch : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var siteId = Convert.ToInt32(context.Request["SiteId"]);
var serializer = new JavaScriptSerializer();
var response = mock(siteId);
context.Response.ContentType = "text/json";
context.Response.Write(serializer.Serialize(response));
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}