我将此代码基于kendu grid ui代码演示。 当我添加新记录时,它会被发送到服务器端(c#handler) 从那里我将json转换为对象..依此类推。 操作成功,kendu发出的请求完成状态代码200。 但由于某种原因,更换的细胞仍标记为“肮脏的”#34; 。 因此,任何新行都会在第一次尝试时发送,因为它认为需要再次发送。这是我的代码:
jQuery("#getallDataBTN").click(
function () {
$("#grid").kendoGrid({
dataSource: {
transport: {
read: {
url: "/WallEHandler.ashx?command=getallPermissions",
dataType: "json"
},
create: {
url: "/WallEHandler.ashx?command=addPermission",
dataType: "json",
type:"post"
},
update: {
// url: "/WallEHandler.ashx?command=editPermission",
// dataType: "jsonp"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
},
schema: {
model: {
id:"Method",
fields: {
Method: { type: "string" , validation: { required: true }},
ServiceType: { type: "string" ,validation: { required: true }},
Role: { type: "string" ,validation: { required: true }},
Permission: { type: "string" ,validation: { required: true }},
ExtendedData: { type: "string" }
}
}
},
pageSize: 100,
batch: true,
},
height:850,
scrollable: true,
sortable: true,
filterable: true,
pageable: {
input: true,
numeric: false
},
columns: [
"Method",
"ServiceType",
"Role",
{ field: "Permission", editor: categoryDropDownEditor },
"ExtendedData"
],
navigatable: true,
toolbar: ["create", "save", "cancel"],
editable: true
//selectable: "row",
//save: function(e)
// {
//alert("Save");
// }
});
}
);
我可能需要从服务器返回以告诉网格它是否成功?
感谢您的帮助
答案 0 :(得分:0)
我想通了,似乎成功请求的响应必须返回与发送的对象相同的对象。 (必须由kendu进行某种内部验证)。
C#:
Response.Write(context.Request.Form["models"]);