or
catch (Exception ex) { ModelState.AddModelError("Error", ex.Message); return Json(ModelState.ToDataSourceResult(), JsonRequestBehavior.AllowGet); }function error(e) { if (e.errors) { var message = "Errors:\n"; $.each(e.errors, function (key, value) { if ('errors' in value) { $.each(value.errors, function () { message += this + "\n"; }); } }); alert(message); }}01.@(Html.Kendo().Grid((IEnumerable<MyModel>)ViewBag.Model)02. .Name("Grid")03. .Columns(columns =>04. {05. ..06. removed for brevity07. ..08. columns.Command(command => { command.Edit(); command.Destroy(); });09. })10. .ToolBar(toolbar => toolbar.Create())11. .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("EditorTemplate"))12. .Pageable()13. .Sortable()14. .Scrollable()15. .DataSource(dataSource => dataSource16. .Ajax()17. .PageSize(20)18. .Events(events => events.Error("error_handler"))19. .Model(model => model.Id(m => m.recordID))20. .Create(update => update.Action("Create", "Controller"))21. .Update(update => update.Action("Update", "Controller"))22. .Destroy(update => update.Action("Destroy", "Controller"))23. )24. )01.@(Html.Kendo().DropDownListFor(m => m.StateId)02. .Name("StateId")03. .DataTextField("StateName")04. .DataValueField("StateId")05. .DataSource(source =>06. {07. source.Read(read =>08. {09. read.Action("GetStatesList", "Controller");10. })11. .ServerFiltering(true);12. })13. .SelectedIndex(0)14. .OptionLabel("Select a State")15. )1.public JsonResult GetStatesList()2.{3. var states = client.GetStates();4. return Json(states, JsonRequestBehavior.AllowGet);5.}