Json 为什么在网格行的内联编辑中单击“更新”时会调用我的Read方法
剑道格网又是令人沮丧的一天。无论如何,我的问题是:当我在网格行项目上单击“编辑”时,它将进入编辑模式。好。然后我修改一条记录,然后单击更新。我希望能调用“/Company/SaveAccountAdmin”方法。但是没有。。。再次调用read方法。当我点击“取消”时,记录就消失了!$(“#save”)click事件只是试图强制保存,但这些事件肯定可以从网格命令按钮触发吗?有什么想法吗Json 为什么在网格行的内联编辑中单击“更新”时会调用我的Read方法,json,asp.net-mvc-3,asp.net-mvc-4,kendo-ui,kendo-grid,Json,Asp.net Mvc 3,Asp.net Mvc 4,Kendo Ui,Kendo Grid,剑道格网又是令人沮丧的一天。无论如何,我的问题是:当我在网格行项目上单击“编辑”时,它将进入编辑模式。好。然后我修改一条记录,然后单击更新。我希望能调用“/Company/SaveAccountAdmin”方法。但是没有。。。再次调用read方法。当我点击“取消”时,记录就消失了!$(“#save”)click事件只是试图强制保存,但这些事件肯定可以从网格命令按钮触发吗?有什么想法吗 /// <reference path="../kendo.all-vsdoc.js" /> $(
/// <reference path="../kendo.all-vsdoc.js" />
$(document).ready(function () {
var CompanyId = $("#CompanyId").val();
var dataSource = new kendo.data.DataSource(
{
batch: true,
pageSize: 10,
transport: {
create: {
url: "/Company/SaveAccountAdmin",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
url: "/Company/ReadAccountAdmin",
},
read: {
url: "/Company/ReadAccountAdmin"
},
update: {
url: "/Company/SaveAccountAdmin",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
url: "/Company/ReadAccountAdmin",
},
//destroy: {},
parameterMap: function (options, operation) {
if (operation !== "read" && options.model) {
return { model: kendo.stringify(options.model) };
}
}
},
schema: {
model: {
id: "ComanyContactId",
fields: {
CompanyId: { type: "number", editable: false, nullable: false, defaultVaue: CompanyId },
CompanyContactId: { type: "number", editable: false, defaultValue: 0 },
FirstName: { type: "string", nullable: false, validation: { required: true } },
LastName: { type: "string", nullable: false, validation: { required: true } },
Email: { type: "string", nullable: false, validation: { required: true } },
Phone: { type: "string", nullable: false, validation: { required: true } },
IsActive: { type: "boolean" }
}
}
}
});
$("#save").click(function (event) {
event.preventDefault();
var rows = $.map(dataSource.data(), function (value, index) {
return {
CompanyId: value["CompanyId"],
CompanyContactId: value["CompanyContactId"],
FirstName: value["FirstName"],
LastName: value["LastName"],
Email: value["Email"],
Phone: value["Phone"],
IsActive: value["IsActive"]
}
});
var jsonCompanyContacts = JSON.stringify(rows);
$.ajax({
url: '/Company/SaveAccountAdmin',
type: 'POST',
traditional: true,
data: { "jsonCompanyContacts": jsonCompanyContacts },
success: alert("Data Saved")
})
});
$("#AccountAdmins").kendoGrid({
dataSource: dataSource,
toolbar: ["create"],
editable: "inline",
sortable: true,
pageable: true,
navigatable: true,
editable: "inline",
columns: [
{ field: "CompanyId", title: "CompanyID", sortable: true },
{ field: "CompanyContactId", title: "Company ContactID", sortable: true },
{ field: "FirstName", title: "First Name", sortable: true },
{ field: "LastName", title: "Last Name" },
{ field: "Email", title: "Email", },
{ field: "Phone", title: "Phone", },
{ field: "IsActive", title: "Is Active" },
{ command: ["edit", "destroy"], title: " ", width: "210px" }]
});
//
$(文档).ready(函数(){
var CompanyId=$(“#CompanyId”).val();
var dataSource=new kendo.data.dataSource(
{
批次:对,
页面大小:10,
运输:{
创建:{
url:“/Company/SaveAccountAdmin”,
contentType:“应用程序/json;字符集=utf-8”,
类型:“POST”,
数据类型:“json”,
url:“/Company/ReadAccountAdmin”,
},
阅读:{
url:“/Company/ReadAccountAdmin”
},
更新:{
url:“/Company/SaveAccountAdmin”,
contentType:“应用程序/json;字符集=utf-8”,
类型:“POST”,
数据类型:“json”,
url:“/Company/ReadAccountAdmin”,
},
//销毁:{},
parameterMap:功能(选项、操作){
if(操作!=“读取”&&options.model){
返回{model:kendo.stringify(options.model)};
}
}
},
模式:{
型号:{
id:“ComanyContactId”,
字段:{
CompanyId:{type:“number”,可编辑:false,可空:false,defaultVaue:CompanyId},
CompanyContactId:{type:“number”,可编辑:false,默认值:0},
名字:{type:“string”,可空:false,验证:{required:true},
LastName:{type:“string”,可为空:false,验证:{required:true},
电子邮件:{type:“string”,可为空:false,验证:{required:true},
电话:{type:“string”,可为空:false,验证:{required:true},
IsActive:{type:“boolean”}
}
}
}
});
$(“#保存”)。单击(函数(事件){
event.preventDefault();
变量行=$.map(dataSource.data(),函数(值,索引){
返回{
CompanyId:value[“CompanyId”],
CompanyContactId:value[“CompanyContactId”],
FirstName:value[“FirstName”],
LastName:value[“LastName”],
电子邮件:值[“电子邮件”],
电话:值[“电话”],
IsActive:值[“IsActive”]
}
});
var jsonCompanyContacts=JSON.stringify(行);
$.ajax({
url:“/Company/SaveAccountAdmin”,
键入:“POST”,
传统的:是的,
数据:{“jsonCompanyContacts”:jsonCompanyContacts},
成功:警报(“数据已保存”)
})
});
$(“#会计管理员”)。肯多格里德({
数据源:数据源,
工具栏:[“创建”],
可编辑:“内联”,
可排序:是的,
pageable:对,
可导航:是的,
可编辑:“内联”,
栏目:[
{字段:“CompanyId”,标题:“CompanyId”,可排序:true},
{字段:“CompanyContactId”,标题:“CompanyContactId”,可排序:true},
{字段:“FirstName”,标题:“FirstName”,可排序:true},
{字段:“姓氏”,标题:“姓氏”},
{字段:“电子邮件”,标题:“电子邮件”},
{字段:“电话”,标题:“电话”},
{字段:“IsActive”,标题:“Is Active”},
{命令:[“编辑”、“销毁”],标题:“”,宽度:“210px”}]
});
})) 我猜这是因为您为Update命令设置了读取URL:
update: {
url: "/Company/SaveAccountAdmin", // <-- Not used because it is changed below
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
url: "/Company/ReadAccountAdmin", // <-- Read URL set
},
更新:{
url:“/Company/SaveAccountAdmin”,//很好地发现了!我在这个网格上经历了太多的组合,我再也看不清了。