2013-12-21 3 views
1

Использования Кендо сетки и MVC 4Кендо Ajax Удалить в сетке

В моем контроллере, когда он ошибка вне я отправить сообщение об ошибке:

return this.Json(new DataSourceResult 
     { 
      Errors = "my custom error" 
     }); 

красиво отображается ошибка, однако элемент визуально удалены из сетки, хотя и не из источника данных. Обновление сетки возвращает его.

Как получить сетку, не удаляя запись визуально, когда она получает ошибку в методе удаления?

ответ

1

Чтобы передать сообщение об ошибке от контроллера для просмотра, вам нужно использовать ModelState, смотрите ниже:

ModelState.AddModelError("Delete", "my custom error"); 
return Json(ModelState.ToDataSourceResult()); 

Вы также можете использовать пустую строку для ключа:

ModelState.AddModelError(string.Empty, "my custom error"); 
return Json(ModelState.ToDataSourceResult()); 

Update

Без вашего кода трудно представить, где именно проблема. Вы можете попробовать под кодом и посмотреть, как он работает для вас. Но, возможно, проблема возникает из вашего кода сетки Kendo.

var model = new YourBuildingModel(); 
    model = GetModelList(); 
    // 
    ModelState.AddModelError(string.Empty, "my custom error"); 
    var buildingData = (new List<YourBuildingModel> {model}).ToDataSourceResult(request, ModelState); 
    return Json(buildingData, JsonRequestBehavior.AllowGet); 
+0

Hi Lin, который отправляет сообщение об ошибке, и я могу получить его через событие ошибки Grid, но сетка по-прежнему визуально вносит изменения в сетку. (добавляет или удаляет или редактирует модель). Как предотвратить изменение, которое вызывает ошибку. –

+0

hi @ BahaiResearch.com, я обновил свой ответ. Но если он все еще не работает, предоставьте больше кода. – Lin

Смежные вопросы