Я использую Telerik Rad Grid в MVC3 (двигатель aspx), например: -
Это мой контроллер: -
[HttpGet]
[GridAction(EnableCustomBinding = true)]
public ActionResult Search()
{
SearchViewModel searchViewModel = new SearchViewModel(this.serviceInvoker);
SearchRequest searchRequest = new SearchRequest();
searchViewModel.Initialize();
ViewData["TotalRecord"] = SearchViewModel.SearchResponses.Count();
return View(searchViewModel);
}
Этомоя ViewModel: -
<% using (Html.BeginForm("CaseSearch", "AdvanceSearch", FormMethod.Post, new { @class "formStyle" }))
{ %>
<div class="boxPanel">
<fieldset>
<legend></legend>
<ul class="floatleft width25" >
<div class="floatleft">
<% Html.RenderPartial("PartialViewCaseSearch"); %>
</div>
</fieldset>
<% } %>
Это мой частичный просмотр Telerik Grid: -
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Import Namespace="ABC.DataContracts.Messages" %>
<%= Html.Telerik().Grid((IEnumerable<SearchResponse>)Model.SearchResponses)
.Name("CaseSearchGrid")
.Columns(columns =>
{
columns.Bound(grid => grid.RowNumber);
columns.Bound(grid => grid.CreatedOn).Format("{0:dd/MM/yyyy}");
columns.Bound(grid => grid.CaseReference);
})
.DataBinding(dataBinding => dataBinding.Ajax().Select("Search", "AdvanceSearch"))
.EnableCustomBinding(true)
.BindTo((IEnumerable<SearchResponse>)Model.SearchResponses)
.Pageable(paging => paging.Enabled(true))
%>
SearchResponse это мой объекткоторый является результатом поискового запроса.
Я должен реализовать пользовательскую привязку Ajax к серверу с пейджингом и сортировкой на стороне сервера.Я реализовал Пейджинг и сортировку в моей хранимой процедуре.но когда я нажимаю на индекс страницы или сортировочный столбец, он не возвращает правильные данные и пропускает ошибку вроде.«Недопустимый запрос JSON».
Также помогите мне, как передать имя столбца сортировки и индекс страницы моему контроллеру.
Спасибо.