Asp.net 剑道网格AJAX绑定未更新MVC4
我试图让我的网格更新为选择加入状态,但当我点击更新时,没有任何操作发生。我使用了一个带有模型和实体框架的ajax绑定。当我点击cancel时,它将遵循此方法。我不确定我遗漏了什么,因为其他一切都在运行和编译 看法Asp.net 剑道网格AJAX绑定未更新MVC4,asp.net,ajax,kendo-ui,kendo-grid,Asp.net,Ajax,Kendo Ui,Kendo Grid,我试图让我的网格更新为选择加入状态,但当我点击更新时,没有任何操作发生。我使用了一个带有模型和实体框架的ajax绑定。当我点击cancel时,它将遵循此方法。我不确定我遗漏了什么,因为其他一切都在运行和编译 看法 您已使所有列都不可编辑-这意味着您将不会对模型进行任何更改。如果未进行任何更改,则不会执行更新请求。对您的模型进行更改,应该会触发更新。我只将某些字段设置为不可编辑。OptInd是可编辑的,我没有将其包含在m模型中。我将其添加到模型中,并将其设置为.Editabletrue,但更新仍然
您已使所有列都不可编辑-这意味着您将不会对模型进行任何更改。如果未进行任何更改,则不会执行更新请求。对您的模型进行更改,应该会触发更新。我只将某些字段设置为不可编辑。OptInd是可编辑的,我没有将其包含在m模型中。我将其添加到模型中,并将其设置为.Editabletrue,但更新仍然不起作用。
<div class="row">
<h2>PQA Opt-In</h2>
<br />
@(Html.Kendo().Grid<TelerikMvcApp1.Models.PQAViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(opt => opt.Jobber).Width(90);
columns.Bound(opt => opt.Dealer).Width(95);
columns.Bound(opt => opt.OptInd).Width(110);
columns.Bound(opt => opt.establish_date_time);
columns.Bound(opt => opt.establish_id);
columns.Command(commands =>
{
commands.Edit();
}).Title("Commands").Width(200);
})
.DataSource(datasource => datasource
.Ajax()
.Model(model =>
{
model.Id(opt => opt.Jobber);
model.Field(opt => opt.Jobber).Editable(false);
model.Field(opt => opt.Dealer).Editable(false);
model.Field(opt => opt.establish_date_time).Editable(false);
model.Field(opt => opt.establish_id).Editable(false);
})
.PageSize(20)
.Read(read => read.Action("ProductQualityFileFull_Read", "PQA"))
.Update(update => update.Action("Opt_Update", "PQA"))
)
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Filterable()
.Pageable()
)
</div>
sing System;
using System.Linq;
using System.Web.Mvc;
using System.Data;
using System.Data.Entity;
using TelerikMvcApp1.Models;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;
namespace TelerikMvcApp1.Controllers
{
public class PQAController : Controller
{
public ActionResult Baseline()
{
return View();
}
public ActionResult ProductQualityFileFull_Read([DataSourceRequest] DataSourceRequest
request)
{
using (var pqa = new PQAEntities())
{
IQueryable<ProductQualityFileFull> opt = pqa.ProductQualityFileFulls;
DataSourceResult result = opt.ToDataSourceResult(request, ProductQualityFileFull =>
new PQAViewModel
{
Jobber = ProductQualityFileFull.Jobber,
Dealer = ProductQualityFileFull.Dealer,
OptInd = ProductQualityFileFull.OptInd,
establish_date_time = ProductQualityFileFull.establish_date_time,
establish_id = ProductQualityFileFull.establish_id
});
return Json(result);
}
}
public ActionResult UpdateOptIn()
{
return View();
}
public ActionResult Opt_Update([DataSourceRequest] DataSourceRequest request,
PQAViewModel opt)
{
if (ModelState.IsValid)
{
using (var pqa = new PQAEntities())
{
var entity = new ProductQualityFileFull
{
Jobber = opt.Jobber,
Dealer = opt.Dealer,
OptInd = opt.OptInd,
establish_date_time = opt.establish_date_time,
establish_id = opt.establish_id
};
pqa.ProductQualityFileFulls.Attach(entity);
pqa.Entry(entity).State = EntityState.Modified;
pqa.SaveChanges();
}
}
return Json(new[] { opt }.ToDataSourceResult(request, ModelState));
}
}
}
namespace TelerikMvcApp1.Models
{
public class PQAViewModel
{
public string Jobber { get; set; }
public int Dealer { get; set; }
public int OptInd { get; set; }
public DateTime establish_date_time { get; set; }
public string establish_id { get; set; }
}
}