2012-05-22 52 views
0

我有一個MVC3 Telerik應用程序。這是我的控制器:用Teleriks Grid自定義數據綁定

[GridAction] 
    public ActionResult Index(GridCommand command) 
    { 
     IEnumerable<Order> data = GetData(command); 
     var dataContext = new NorthwindDataContext(); 

     //Required for pager configuration 
     ViewData["total"] = dataContext.Orders.Count(); 

     return View(data); 
    } 

    [GridAction(EnableCustomBinding = true)] 
    public ActionResult _CustomBinding(GridCommand command) 
    { 
IEnumerable<Order> data = GetData(command); 

var dataContext = new NorthwindDataContext(); 
return View(new GridModel 
{ 
    Data = data, 
    Total = dataContext.Orders.Count() 
}); 
} 

    //Utility method which does custom paging and sorting using Linq 
    private static IEnumerable<Order> GetData(GridCommand command) 
    { 
     var dataContext = new NorthwindDataContext(); 
     IQueryable<Order> data = dataContext.Orders; 


     if (command.PageSize > 0) 
     { 
      data = data.Skip((command.Page - 1) * command.PageSize); 
     } 

     data = data.Take(5); 
     return data; 
    } 

這是我的Razor視圖:

@model IEnumerable<Telerik.Order> 

    @(Html.Telerik().Grid(Model) 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(o => o.OrderID).Width(100); 
     columns.Bound(o => o.Customer.ContactName).Width(200); 
     columns.Bound(o => o.ShipAddress); 
     columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(100); 
    }) 
       .DataBinding(dataBinding => 
       { 
        dataBinding.Ajax().Select("_CustomBinding", "Home").Enabled(true); 
      }) 
     .Pageable(pager => pager.Total((int)ViewData["total"])) 
     .EnableCustomBinding(true) 
     .Sortable() 

當我運行的應用程序,它加載很好,但是當我點擊了一些尋呼排在底部,我得到:

Error! The requested URL returned 500- Internal server error 

它調用我的函數_CustomBinding,當我通過它一步犯規拋出一個錯誤。什麼導致這個錯誤?

回答

0

這意味着_CustomBinding方法中發生了服務器端異常。您可以檢查實際的服務器響應是什麼 - 它將包含堆棧跟蹤。使用Fiddler或您的瀏覽器的開發人員工具來檢查服務器響應是什麼。