2017-01-16 1 views
0

내가 x는 편집 할 때 사용하는 컨트롤러의 기능에 아약스 데이터에 액세스하고 내 컨트롤러에 날짜를 게시하려고 할 수ASP.net MVC는

X-편집 코드는 내가 지금

<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."}

는 내가 .. 컨트롤러 기능이 PARAMS 이러한 PARAMS이 didnt가 아약스 URL을해야합니다 알고하지만 난

을 변경할 수하여 PARAMS equel 정적 값을 의미 AJAX URL에 PARAMS하지를 추가 할 때

어떻게해야합니까?

+0

위의 [HttpPost]를 메소드에 추가해야합니다. 따라서 게시물 요청시 전화를 걸 수 있습니다. –

답변

0

조치 매개 변수에 대한 클래스를 작성해야합니다.

기본적으로

는, 웹 API 매개 변수 바인딩 다음과 같은 규칙을 사용합니다 다음은 ASP.NET MVC 도쿠가 이같이 말 매개 변수가 "단순"유형 인 경우

  • 을, 웹 API는에 시도 URI에서 값을 가져옵니다. 단순 유형에는 .NET 원시 형식 (int, bool, double 등)과 TimeSpan, DateTime, Guid, 십진수, 및 문자열과 문자열을 변환 할 수있는 형식 변환기가있는 모든 형식이 포함됩니다. (나중에 유형 변환기에 대해 자세히 설명합니다.)
  • 복잡한 유형의 경우 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