Just a quick note for myself and for anyone else trying to figure out how to get knockout-kendo.js to work with an datasource in a MVC project. First lets take a look at the server side code that returns your json object to the view.

 

 [HttpPost]
public ActionResult GetPersonJson([DataSourceRequest]DataSourceRequest request)
 {
            var filter = ((Kendo.Mvc.FilterDescriptor)request.Filters[0]).ConvertedValue.ToString().Trim();
            if (filter == string.Empty)
                filter = "******";

             var list = new List{ 
                new Person { Email = "[email protected]", Name = "Terrence" }, 
                new Person { Email="[email protected]", Name="Dixon" }
            };
            return Json(list.Where(u => u.Name.ToLower().Contains(filter));
 } 

Next we take a look at the element. We add the kendo Autocomplete to the required text element.

 <input data-bind="kendoAutoComplete: {dataTextField: 'Name', dataSource: 
{ 
   type: 'aspnetmvc-ajax',                                                                                                                                                                          
   transport: {
      read:
      { 
          url: '/Home/GetPersonJson',                                                                                                                    
         type: 'POST' 
      }  
  },     
  schema: {
    model: { 
      fields: {  
       Name: { type: 'string' },   
       Email: { type: 'string' }   
       } 
     }
   },  
   serverFiltering: true 
  }, value: name 
}" />