2012-02-12 40 views
1

我在MVC3(ASPX引擎)使用Telerik的拉德格,如: -Telerik的電網分頁和ASP.Net 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); 
} 

這是我的視圖模型: -

<% 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的網格: -

<%@ 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和服務器端分頁ANS排序結合。我在我的存儲過程中實現了分頁和排序。但是當我點擊頁面索引或排序列時,它不會返回正確的數據並且會出錯。 「無效的JSON請求」。

也請幫助我如何排序列名稱和頁面索引傳遞給我的控制器。

謝謝。

回答

0

AdvanceSearch()行動應採取GridCommand,因爲它的參數,所以你知道什麼是排序應用。看看Telerik的文檔。

您也可以攻擊調試器才能看到哪些服務器上的實際例外。