Пакетное редактирование без перезагрузки Telerik MVC Grid - PullRequest
1 голос
/ 22 сентября 2011

В настоящее время мы используем Telerik MVC Grid и используем пакетное редактирование. Все работает отлично, начиная с обновления, разбиения по страницам, сортировки, фильтрации и группировки, и я не понимаю, почему, когда вы обновляете что-то, обновляются все данные (сетка ожидает, что данные будут работать должным образом). Есть ли свойство, которое мы можем установить в сетке telerik, чтобы не обновлять все данные (это так полезно, если у вас нет записи добавления и удаления), оно уже есть в клиенте.

1 Ответ

1 голос
/ 27 сентября 2011

Я решил это, вернув пустую модель обратно в сетку и убрав маленькую красную стрелку с помощью javascript. Так что вместо возврата

return View(new GridModel<MyViewModel>);

Я возвращаюсь как

return new LargeJsonResult
{
    MaxJsonLength = int.MaxValue,
    JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet,
    Data = new GridModel<MyViewModel>
    {
        Data = model.MyViewModel
    }
};

И этот Большой Результат JSON пришел отсюда http://www.java2s.com/Open-Source/ASP.NET/AJAX/ajaxmapdataconnector/DataConDemoWebRole/Business/LargeJsonResult.cs.htm

Сказав это на моем методе вместо обычного ActionResult

[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult UpdateSomethingAjax( 
[Bind(Prefix = "inserted")]IEnumerable<MyViewModel> insertedTransactions,
[Bind(Prefix = "updated")]IEnumerable<MyViewModel> updatedTransactions,
[Bind(Prefix = "deleted")]IEnumerable<MyViewModel> deletedTransactions)

Я возвращаю это как

[AcceptVerbs(HttpVerbs.Post)]
public LargeJsonResult UpdateSomethingAjax(
[Bind(Prefix = "inserted")]IEnumerable<MyViewModel> insertedTransactions,
[Bind(Prefix = "updated")]IEnumerable<MyViewModel> updatedTransactions,
[Bind(Prefix = "deleted")]IEnumerable<MyViewModel> deletedTransactions)

без GridAction

...