如何使用Kendo UI将参数传递给HttpHandler
How do you pass parameters to an HttpHandler using Kendo UI?
我非常熟悉jQueryAJAX,并且一直在使用它。Kendo UI是在jQuery及其对AJAX的使用之上构建的。与&使用jQuery可以很容易地将参数传递给HttpHandler,只需执行以下操作:
使用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
});
我的问题:
我正试图找到对data
的KendoUI等价调用(如上)。
- 虽然网格中确实填充了从HttpHandler返回给我的数据
- 参数没有被馈送到HttpHandler(见下文)
KENDO代码看起来像:
<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句柄看起来像:
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;
}
}
}
我发现这是他们以前构建中的一个已知问题最新版本修复了此问题。因此,您必须首先下载KendoUI
的最新版本,如下所示:
V1 2011 SP1(版本2011.3.1407)-2012年2月
-请参阅"OData不提交用户定义的参数"
但是,上面的代码也存在问题。代码应该完全省略POST
命令。
新数据源应为:
只有DataSource
对象不正确。新的应该是这样的-
var dataSource = new kendo.data.DataSource({
transport:
{
read:
{
url: "Handlers/Attempt1Synch.ashx",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: { SiteId: 777 }
},
schema: { data: "People" }
});
相关文章:
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- JavaScript常量-作为参数传递或直接使用
- 如何将javascript对象作为参数传递到c#web服务中
- 将参数传递给函数
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- javascript,将参数传递给函数内部的闭包中的回调
- Javascript-将包含变量的html字符串作为参数传递
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- 在嵌套递归指令中将参数传递给父控制器方法
- each()-将额外的参数传递给回调参数
- 代码气味-将布尔控制参数传递给函数
- 如何将自定义参数传递到FullCalendar事件提要
- 将参数传递给函数,同时保留事件处理程序
- 将图标作为参数传递不会;t工作-谷歌地图
- 如何使用按钮将参数传递给函数
- 如何将多个参数传递给输入's onChange处理程序
- 是否可以在 Javascript 中将未声明的变量作为参数传递