当我创建,编辑或删除记录时,它看起来好像已经在网格中完成了它,但它从不调用关联的WebMethod。
我在dataSource中使用以下内容:
transport: {
read: {
contentType: "application/json; charset=utf-8",
url: "DepartmentHome.aspx/GetMembers",
dataType: "json"
},
create: {
url: "DepartmentHome.aspx/CreateMember",
type: "POST"
},
update: {
url: "DepartmentHome.aspx/EditMember",
type: "POST"
},
destroy: {
url: "DepartmentHome.aspx/DeleteMember",
type: "POST"
}
},
在我后面的代码中,我已经定义了WebMethods:
[WebMethod]
public static void CreateMember()
{
File.WriteAllText(@"C:\testing.txt", "This is a create.");
}
[WebMethod]
public static void EditMember()
{
File.WriteAllText(@"C:\testing.txt", "This is an update.");
}
[WebMethod]
public static void DeleteMember()
{
File.WriteAllText(@"C:\testing.txt", "This is a delete.");
}
我确实在firebug中看到它发送:
POST CreateMember
POST EditMember
POST DeleteMember
当我点击相关按钮时,POST数据包含该行的参数:
名字:约翰
Id:1
姓氏:史密斯
但是,它实际上从未调用我的任何WebMethod。
从POST返回的响应只是来自DepartmentHome.aspx页面的所有html。
我正在使用WebMethod进行阅读,这非常有效。我不知道会有什么区别?
您可以在此处找到我的完整源代码aspx和aspx.cs文件:
http://www.kendoui.com/clientsfiles/3028826e-9aae-631b-85d4-ff000054ddc5_grid.zip?sfvrsn=0
非常感谢任何帮助。