Это то, что я нашел с небольшой помощью от Telerik Support.
В ClientSetting RadGrid добавьте метод в ClientEvents OnDataBinding. Мое имя метода имя OnClientDataBinding в этом примере
Затем создайте клиентский метод:
// This OnClient DataBinding builds the arguments uses to call the
// Ajax Service used to retrieve that when needed.
function OnClientDataBinding(sender, args) {
// get data source location, method name and arguments
var dataSourceLocation = args.get_location();
var selectMethodName = args.get_methodName();
var methodArguments = args.get_methodArguments();
...
Я фактически изменил sortExpression и fitlerExpresion, и они передаются в виде массива.
// construct arguments for Ajax Service
var myMethodArguments = new Object();
myMethodArguments.startRowIndex = methodArguments.startRowIndex;
myMethodArguments.maximumRows = methodArguments.maximumRows;
myMethodArguments.sortExpression = sortExpression;
myMethodArguments.filterExpression = filterExpression;
myMethodArguments.myParam1 = "David";
myMethodArguments.myParam2 = 14926;
args.set_methodArguments(myMethodArguments);
}
Затем создайте свой метод Service Controller что-то вроде:
public JsonResult GetCustomerSearchResults(int startRowIndex, int maximumRows, string sortExpression, FilterExpression[] filterExpression, string myParam1, int myParam2)
{
IEnumerable results;
... fill your Data and Count.
return Json(new { Data = results.ToList(), Count = totalNumberOfRows });
}
FilterExpression [] - это объект, который я создал для своего использования. Это не объект Telerik.