2017-01-16 11 views
0

я использую х-редактируемые и стараться размещать дату моего контроллераASP.net MVC не может получить доступ АЯКС данных в функции контроллера

х редактируется код

<span class="editable editable-click" title="" data-type="select" data-value="1" data-pk="2" data-url="http://localhost:58250/api/updateeffortitems/save" data-title="Work group" data-source="[{ value: 1, text: 'Project'},{ value: 2, text: 'Service'},{ value: 3, text: 'Process'},{ value: 4, text: 'Training'},{ value: 5, text: 'Others'}]" data-original-title="Project">Project</span>

теперь я пытаются получить доступ размещены данные в следующем контроллере

Public Class UpdateEffortItemsController 
    Inherits ApiController 
    Public Function save(pk As Integer, value As String) As String 

     Dim db As New RA_SQLEntities 

     Dim row As Ra_activity_log 
     row = db.Ra_activity_log.Where(Function(XX) XX.Activity_log_key = pk).SingleOrDefault() 
     row.Comment = value 
     db.SaveChanges() 

     Return "done" 

    End Function 

End Class  

и я получил следующее сообщение об ошибке

{"Message":"No HTTP resource was found that matches the request URI 'http://localhost:58250/api/updateeffortitems/save'.","MessageDetail":"No action was found on the controller 'UpdateEffortItems' that matches the request."}

я знаю, функция управления должна иметь 2 Params и Аякс URL не имел этот Params .. но когда я добавить Params Аякса URL, что означает, что PARAMS equel к статическому значению и не в состоянии изменить

Что мне делать?

+0

вам необходимо добавить [HttpPost] к методу. Таким образом, он может вызывать запрос по почте. –

ответ

0

Вам необходимо создать класс для параметров действия. Вот что говорит ASP.NET MVC доку:

По умолчанию Web API использует следующие правила для связывания параметров:

  • Если параметр является «простым» типом, Web API пытается получить значение из URI. Простые типы включают в себя примитивные типы .NET (int, bool, double и т. Д.), Плюс TimeSpan, DateTime, Guid, decimal, и строку, плюс любой тип с конвертером типов, который может конвертировать из строку. (Подробнее о преобразователях типов позже.)
  • Для сложных типов Web API пытается прочитать значение из тела сообщения с использованием форматера медиа-типа.

код может выглядеть следующим образом (я не VB кодировщик):

Public Class XEditablePost 
    Public Property Pk() As Integer 
    Public Property Value() As String 
End Class 

.... 

Public Function save(payload As XEditablePost) As String 
    .... 
End Function 

Надежда, что помогает.

+0

Спасибо вам за работу !!!! –

+0

Пожалуйста, отметьте мой ответ как решение. Спасибо. – atitsbest