2015-12-18 2 views
0

Я создаю приложение CRUD. Мое приложение получает строку из поля ввода Kendo и должно будет отправить ее моему контроллеру, который ожидает строку, которую я получаю от моего Вызов JQuery. Однако строка не доходит до моего контроллера. Я пробовал разные способы, и я не могу отправить его через свой Транспорт. Я поставил точку останова, и я могу подтвердить, что значение подхвачено в моем Kendo Observable.Kendo Datasource не отправляет строку контроллеру

Мои Datasource

var client = new kendo.data.DataSource({ 
    transport: { 
     read: {    
      url: "Client/SearchClient", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
     },  

Мой контроллер

 public ActionResult SearchClient() 
     { 
     return View(); 
     } 

    [HttpPost] 
    public ActionResult SearchClient(string name) 
    { 
     Repo repo = new Repo(); 
     var result = repo.GetClient(); 

     return Json(new 
     { 
      list = result, 
      count = result.Count 
     }, JsonRequestBehavior.AllowGet); 
    } 

Это мой Кендо Наблюдаемые

var viewModel = kendo.observable({ 
    client: { 
     clientName: "", 
     clientNumber: "", 
     clientType: "", 
    }, 
    dropdownlist: ["HCC", "Tax", "Audit", "Advisory"], 

    create: function (e) { 
     var userRequest = $("#clientname").val(); 
     if (userRequest) { 
      client.read(userRequest); 
     } 
     if (!userRequest) 
     alert("Please Enter Client Name") 
    } 

}); 

ответ

1

Метод поиска Клиент хочет POST, а не GET? По умолчанию будет GET. Либо измените свой метод api на использование HttpGet, либо измените транспорт на метод: «post» для чтения.

var client = new kendo.data.DataSource({ 
    transport: { 
     read: {    
      url: "Client/SearchClient", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      method: "post" 
     }, 
Смежные вопросы