我一直在努力将模型从视图传递到剑道网格中的控制器一段时间。我设法将物品送到我的Jsonresult,但所有的价值都是' 0' 0或null。
这是我的代码,任何帮助都将不胜感激。
控制器:
for line in a.split("\n"):
...
查看:
public JsonResult ProductsUpdateTicket([DataSourceRequest]DataSourceRequest request, List<TicketProducts> model, int? prodid)
{
var entities = new List<TicketProducts>();
if (model != null && ModelState.IsValid)
{
using (var db = new CimDataContext())
{
foreach (var prod in model)
{
var totalPrice = prod.Quantity * prod.UnitPrice;
var entity = new TicketProducts
{
ID = prod.ID,
Quantity = prod.Quantity,
TicketNumber = prod.TicketNumber,
UnitPrice = prod.UnitPrice,
TotalPrice = totalPrice,
Description = prod.Description,
ProductID = prod.ProductID
};
entities.Add(entity);
db.TicketProducts.Attach(entity);
db.Entry(entity).State = System.Data.EntityState.Modified;
}
db.SaveChanges();
}
}
return Json(new[] { entities }.ToDataSourceResult(request, ModelState));
}
答案 0 :(得分:0)
问题是options.models。它只是你的模型而且本身没有数据。
你可以这样做:
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { model: function() {
var grid = $("#grid3").data("kendoGrid");
var row = $(grid._editContainer).closest("tr");
var rowIdx = $("tr", grid.tbody).index(row);
var data = {
ID : grid._data[rowIdx].ID ,
Quantity : grid._data[rowIdx].Quantity,
TicketNumber : grid._data[rowIdx].TicketNumber
UnitPrice : grid._data[rowIdx].UnitPrice
TotalPrice : grid._data[rowIdx].TotalPrice
Description : grid._data[rowIdx].Description
ProductID : grid._data[rowIdx].ProductID
};
return data;
}};
}
if (operation == "read") {
return { ticketid: iidee };
}
}
希望这有效,如果你有问题要知道。