Използвам мрежа, която изглежда така:
Html.Telerik().Grid(Model).Name("preciousGrid").
... bla bla bla..
.ClientEvents(events => events.OnDataBinding("onDataBinding"))
.Columns(columns =>
{
columns.Bound(o => o.Date);
columns.Bound(o => o.Name);
Да, напълно игнорирам .DataBinding
неща, за да използвам персонализирано ajax повикване. Защо? Трябва да изпратя на сървъра повече данни, вместо обикновен идентификатор. И единственият начин да се съберат тези данни е чрез преминаване през DOM елементи. Така че нито един от методите, предложени от Телерик, няма да работи в моя случай.
Всичко работи - в onDataBinding, след като необходимите данни са събрани и изпратени на сървъра, сървърът връща резултати, мрежата показва тези данни.
Но все пак има проблем. Пейджингът не работи. И долният колонтитул показва нещо подобно:
Някакви идеи?
UPD: О... може би трябва да изпратя на сървъра информация за пейджинг и да върна резултати въз основа на това? Как да стане това? Можете ли да ми покажете мостра?
UPD2: Командата GridCommand не изпраща информация за пейджинг към сървъра по подразбиране (ако я пропусна в $.ajax и все още поставя параметър GridCommand в метода на действие, тя ще изпрати нещо на контролера, но PageSize винаги е равен на 10 (по подразбиране стойност), а страницата винаги е 1. Така че предполагам, че трябва твърдо да включа тези стойности в $.ajax. Но не знам как мога да получа стойностите на PageSize и Page на клиента?