C# 如何使用mvvm kendo网格和post api控制器不调用来发布数据?
我想将数据从剑道网格发送到sql数据库,下面是我的javascript视图模型代码:C# 如何使用mvvm kendo网格和post api控制器不调用来发布数据?,c#,asp.net,mvvm,kendo-grid,kendo-mvvm,C#,Asp.net,Mvvm,Kendo Grid,Kendo Mvvm,我想将数据从剑道网格发送到sql数据库,下面是我的javascript视图模型代码: document.onreadystatechange = function () { var viewModel = kendo.observable({ products: new kendo.data.DataSource({ schema: { //data:"Data", total: "Count", model: {
document.onreadystatechange = function () {
var viewModel = kendo.observable({
products: new kendo.data.DataSource({
schema: {
//data:"Data",
total: "Count",
model: {
Id: "Id",
fields: {
Id: { editable: true, type: "int" },
ShortName: { editable:true, type: "string" },
FullName: { editable: true, type: "string" },
ContactPerson: { editable: true, type: "string" },
CurrentCurrencyCode: { editable: true, type: "int" },
Adress1: { editable: true, type: "string" },
CompanyState: { editable: true, type: "string" },
CompanyCity: { editable: true, type: "string" },
CompanyCountry: { editable: true, type: "string" },
ZipPostCode: { editable: true, type: "string" },
TelArea: { editable: true, type: "string" }
}
}
},
batch: true,
transport: {
read: {
url: "/api/Companies/GetAllCompanies",
dataType: "json"
},
create:{
url: "/api/Companies/SaveDefCompny", // here is a correct api url, which i want to call
dataType: "json"
},
destroy: {
url: "/api/Companies/Delete",
dataType: "json"
},
parameterMap: function (data, operation) {
if (operation !== "read" && data) {
return kendo.stringify(data) ;
}
}
}
})
});
kendo.bind(document.getElementById("example"), viewModel);
}
这是我的控制器代码,用于将数据发布到数据库,但通过单击“创建”或“更新”按钮,它没有调用。我的网格或控制器调用的问题是什么
[HttpPost]
public void SaveDefCompny(IEnumerable<DefCompanyDTO> DfCmpny1)
{
var result = new List<DefCompany>();
using (var data = new RPDBEntities())
{
foreach (var productViewModel in DfCmpny1)
{
var product = new DefCompany
{
Id = productViewModel.Id,
CurrentCurrencyCode = productViewModel.CurrentCurrencyCode,
ShortName= productViewModel.ShortName,
FullName= productViewModel.FullName,
ContactPerson= productViewModel.ContactPerson,
Address1= productViewModel.Address1,
CompanyCity= productViewModel.CompanyCity,
CompanyState= productViewModel.CompanyState,
CompanyCountry= productViewModel.CompanyCountry,
ZipPostCode= productViewModel.ZipPostCode,
TelArea= productViewModel.TelArea
};
result.Add(product);
data.DefCompanies.Add(product);
};
data.SaveChanges();
}
}
[HttpPost]
公共void SaveDefCompny(IEnumerable DfCmpny1)
{
var result=新列表();
使用(var data=new RPDBEntities())
{
foreach(DfCmpny1中的var productViewModel)
{
var product=新公司
{
Id=productViewModel.Id,
CurrentCurrencyCode=productViewModel.CurrentCurrencyCode,
ShortName=productViewModel.ShortName,
FullName=productViewModel.FullName,
ContactPerson=productViewModel.ContactPerson,
Address1=productViewModel.Address1,
CompanyCity=productViewModel.CompanyCity,
CompanyState=productViewModel.CompanyState,
CompanyCountry=productViewModel.CompanyCountry,
ZipPostCode=productViewModel.ZipPostCode,
TelArea=productViewModel.TelArea
};
结果:添加(产品);
数据。定义公司。添加(产品);
};
data.SaveChanges();
}
}
url是正确的,但即使在调试时也不会调用该url。光标未转到url,但网格读取所有值并在其中显示,因为您要发布数据
类型:create方法中缺少“post”
并检查过帐数据。模型
而不是数据