我使用PopUp在kendo Grid中插入新行,我也可以将数据保存到数据库中。但是当我在服务器端插入数据后,当我回到我的View页面时,我的新行中出现了空白值。
我在视图中的kendo Grid是::
<div class="span10">
@(Html.Kendo().Grid<Invoice.Models.ViewModels.ReferenceViewModel>()
.Name("Reference")
.TableHtmlAttributes(new { style = "height:20px; " })
//.TableHtmlAttributes(new { style:"height:30px;"})
.Columns(columns =>
{
columns.Bound(p => p.Reference).Width(15);
columns.Bound(p => p.Description).Width(15);
columns.Bound(p => p.Value).Width(7);
columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(" "); }).Width(13);
})
.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("NewReference"))
.Navigatable()
.Sortable()
.Scrollable(scr => scr.Height(200))
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(false)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.Reference))
.Create("Reference_Create", "Document")
.Read("Reference_Read", "Document")
.Update("Reference_Update", "Document")
.Destroy("Reference_Destroy", "Document")
)
)
</div>
<button type="button" class="k-button k-grid-Add" id="AddSingleReference"> <span class="k-icon k-add"></span></button><br />
,服务器端的代码为::
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Reference_Create([DataSourceRequest] DataSourceRequest request, ReferenceViewModel Reference)
{
if (Reference != null && ModelState.IsValid)
{
string ReferenceName = System.Web.HttpContext.Current.Request.Form["models[0].Reference"].ToString();
string Description = System.Web.HttpContext.Current.Request.Form["models[0].Description"].ToString();
var reference = new CustomerReference { ReferenceName = ReferenceName, Description = Description, CustomerID = 2, CompanyID = 2, ReferenceCode="Ref_Code" };
db.CustomerReferences.Add(reference);
db.SaveChanges();
}
return Json(new[] { Reference }.ToDataSourceResult(request, ModelState));
}
将新值插入数据库但是如何在插入后在Kendo Grid中显示这些值。 现在新的插入后,剑道网格显示空格。\请帮助我。
答案 0 :(得分:0)
您应该在响应中返回Updated对象,而不是从客户端实际发送的对象。
e.g。
return Json(new[] { reference }.ToDataSourceResult(request, ModelState));