public ActionResult Index(FormCollection collection) { //Update the data if it hasn't been updated in a while DataObtainer.updated(); IValueProvider data = collection; if (CallbackManager.CurrentIsCallback) { var request = CallbackManager.GetCurrentCallbackData <CollectionViewRequest <object> >(); if (request != null && request.ExtraRequestData != null) { var extraData = request.ExtraRequestData.Cast <DictionaryEntry>() .ToDictionary(kvp => (string)kvp.Key, kvp => kvp.Value.ToString()); data = new DictionaryValueProvider <string>(extraData, CultureInfo.CurrentCulture); } } _gridDataModel.LoadPostData(data); List <GraphData.Transaction> reportList_ = new List <GraphData.Transaction>(DataObtainer.data.reportList); string[] filter = (string[])Session["Filter"]; //Filters from user selection if (filter != null) { reportList_ = reportList_.Where(x => filter.Contains(x.contract_name)).ToList(); } reportList_ = reportList_.GetRange(0, Math.Min(reportList_.Count, Convert.ToInt32(_gridDataModel.Options["items"].CurrentValue))); ViewBag.DemoOptions = _gridDataModel; ViewBag.FilterTypes = GetFilterTypes(_gridFilterModel); return(View("_DataTable", reportList_)); }