按照Telerik Mvc Grid Demo中的插入和编辑中的模式进行操作后,所有内容都会一直运行,直到它到达控制器方法返回的位置。
请参阅:http://demos.telerik.com/aspnet-mvc/razor/Grid/EditingAjax?theme=vista
这些方法调用我的存储库函数,成功更新数据库;但是,演示中的返回码如此处所示
[AcceptVerbs(HttpVerbs.Post)]
[CultureAwareAction]
[GridAction]
public ActionResult _InsertAjaxEditing()
{
EditableProduct product = new EditableProduct();
if (TryUpdateModel(product)) {
SessionProductRepository.Insert(product);
}
return View(new GridModel(SessionProductRepository.All()));
}
一切都在返回线上,所以我尝试了:
所有这些都导致无法遵循的异常,因为它指向Telerik文件:GridActionAttribute.cs。
现在因为它出现在方法的末尾,我不能确定它是返回语句还是html.Telerik.Grid。但是,正如我所说,我遵循了演示中的模式:
@(Html.Telerik().Grid<BerettaFarms.Models.FoodKind>()
.Name("myName")
.ToolBar(commands => commands.Insert())
.DataKeys(keys => keys.Add(c => c.myTypeId))
.DataBinding(dataBinding => {
dataBinding.Ajax()
.Select("SelectAjaxEditing", "myController")
.Insert("InsertAjaxEditing", "myController")
.Update("SaveAjaxEditing", "myController")
.Delete("DeleteAjaxEditing", "myController");
})
.Columns(columns => {
columns.Bound(o => o.Name).Width(200);
columns.Bound(o => o.Description).Width(400);
columns.Command(commands => {
commands.Edit();
commands.Delete();
}).Width(200);
})
.DataBinding(dataBinding => dataBinding.Ajax().Select("AjaxIndex", "myController"))
.Editable(editing => editing.Mode(GridEditMode.InLine))
.Sortable()
.Scrollable(h => h.Height("700px"))
.Groupable()
.Filterable()
)
所以如果有人知道为什么重新绑定会失败?或者,如果它可归因于其他内容,请告诉我。
答案 0 :(得分:0)
事实证明,这是与工具有关的问题之一,而不是实质内容。当您删除此方法中的所有断点并让代码运行时,它按预期工作。不知何故,当处于调试模式时,如果设置了断点,则会抛出错误并暂停应用程序。