我使用telerik在Asp.Net MVC中创建了一个项目。 我正在使用带有可编辑的telerik网格。 我插入一条新记录,在此之后更新此行,然后将重新创建此行。必须更新。
样品 添加新的 - >
|计算机|
使用COMPUTER2更新此信息 - >
|计算机|
| COMPUTER2 |
这是我的.cshtml代码
@(Html.Kendo().Grid<Telerik_Test_MVC.Models.CIHAZ_TUR_ViewModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.ID).HeaderTemplate("ID").Width(36);
columns.Bound(p => p.TUR_ADI).HeaderTemplate("CİHAZ TüR ADI").Width(200);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(e => e.Mode(GridEditMode.PopUp))
.Sortable()
.Resizable(re => re.Columns(true))
.Groupable()
.DataSource(d => d
.Ajax()
.Model(m => m.Id(p => p.ID))
.Read(u => u.Action("Tur_Read", "Home"))
.Create(c => c.Action("Tur_Create", "Home"))
.Destroy(s => s.Action("Tur_Destroy", "Home"))
.Update(u => u.Action("Tur_Update", "Home"))
)
)
这些是创建和更新方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Tur_Create([DataSourceRequest] DataSourceRequest request, CIHAZ_TUR_ViewModel product)
{
if (product != null && ModelState.IsValid)
{
CIHAZ_TUR_DataModel kd = new CIHAZ_TUR_DataModel();
return Json(kd.Insert(product));
}
return Json(new[] { product }.ToDataSourceResult(request, ModelState));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Tur_Update([DataSourceRequest] DataSourceRequest request, CIHAZ_TUR_ViewModel product)
{
if (product != null && ModelState.IsValid)
{
CIHAZ_TUR_DataModel kd = new CIHAZ_TUR_DataModel();
return Json(kd.Update(product, product.ID));
}
return Json(new[] { product }.ToDataSourceResult(request, ModelState));
}
答案 0 :(得分:0)
我通过编辑来解决了这个问题:
product.ID = kd.Insert(product);