This example shows how to bind Telerik Grid for ASP.NET MVC to web services.

You need to configure the grid via the `DataBinding` method

    <%= Html.Telerik().Grid<Order>()
            .Name("AsmxGrid")
            .DataBinding(dataBinding => dataBinding.WebService().Select("~/Models/Orders.asmx/GetOrders"))
            .Columns(columns =>
            {
               columns.Bound(o => o.OrderID).Width(81);
               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);
            })
            .Sortable()
            .Pageable()
            .Filterable()
            .Scrollable()
    %>

The web service method should have a parameter of type `GridState` which represents the current grid state - page, sort, filter and group expressions.

The web service method may return the `GridModel` object or any other object which has a `Data` and `Total` properties. To benefit from the built-in Linq expression engine you can use the `ToGridModel` extension method:

    [WebMethod]
    public GridModel GetOrders(GridState state)
    {
        NorthwindDataContext northwind = new NorthwindDataContext();

        return northwind.Orders.ToGridModel(state);
    }