Използвам масово контролите на Telerik MVC, по-специално лентата Grid и Tab. На екран „Редактиране на клиента“ имам лента с раздели като следното:
@(Html.Telerik().TabStrip()
.Name("customer-info")
.Items(tabs =>
{
tabs.Add().Text("Addresses").Content(Addresses().ToHtmlString());
tabs.Add().Text("Phone / Email").Content(PhoneNumbers().ToHtmlString());
tabs.Add().Text("Card Numbers").Content(CardNumbers().ToHtmlString());
tabs.Add().Text("Adjustments").Content(Adjustments().ToHtmlString()).Visible(Model.UserCanAddAdjustments);
tabs.Add().Text("Transactions").Content(Transactions().ToHtmlString());
tabs.Add().Text("Account Info").Content(AccountInfo().ToHtmlString());
})
.SelectedIndex(currentTab))
В раздела „Транзакции“ имам мрежа, която в момента използва AJAX обвързване:
@(Html.Telerik().Grid<Transaction>()
.Name("transactions")
.DataBinding(bind => bind.Ajax().Select("AccountTransactionBinding", "Accounts", new { customerId = Model.CustomerId }))
.Columns(cols =>
{
cols.Bound(x => x.TransactionDate).Format("{0:d}").Title("Date").Width("10%");
cols.Bound(x => x.Outlet.Name).Title("Outlet").Width("15%");
cols.Bound(x => x.CheckNumber).Title("Check/Folio").Width("15%");
cols.Bound(x => x.Type.Name).Title("Type").Width("15%");
cols.Bound(x => x.CardNumber).Width("15%");
cols.Bound(x => x.AmountSpent).Format("{0:c2}").Width("15%");
cols.Bound(x => x.BasePoints).Title("Points").Width("15%");
})
.Pageable(paging => paging.PageSize(15))
.Sortable(sort => sort.OrderBy(ob => ob.Add(x => x.TransactionDate).Descending()))
.Filterable())
За съжаление, трябва да добавя някои допълнителни елементи към мрежата, което няма да ми позволи да направя в AJAX обвързване. Мога лесно да променя това на обвързване на сървър, но тогава проблемът ми е с пейджинг. Тази мрежа може да има стотици или хиляди елементи, така че се нуждае от страниране. Ако просто използвам страниране по „обикновения“ начин, това работи, но по подразбиране е първият раздел при всяко зареждане на страницата.
Сега фонът е извън пътя, въпрос: Има ли някакъв начин да "добавя" параметър QueryString към URL адреса за пейджинг?