2012-10-27 5 views
0

aspx 파일과 asmx 파일에서 webmethod를 선언 할 때 정확한 코드를 가지고 있습니다. 그것들은 클라이언트 스크립팅에 노출 된 웹 메소드입니다. 난 asmx 파일 안에 webmethod를 사용하고 싶지만 작동시키지는 못한다.asmx 및 aspx 파일의 WebMethod 선언이 다릅니 까?

aspx 파일의 메소드를 참조 할 때 모든 것이 잘 작동하지만 asmx에서 webmethod를 참조 할 때 알 수없는 오류가 발생합니다. "unknown method, parametar methodname"에 대한 모든 솔루션을 확인했지만 도움이되지 않았습니다.

WEBMETHOD는 모두 비슷한 방식으로 선언 :

[WebMethod] 
public static string[] InsertRecord(string param) { return something } 

만 차이점은 ASMX이 클래스에 대한 [System.Web.Script.Services.ScriptService]이 포함되어 있습니다.

무엇이 문제인지 파악할 수 없습니다.

WebMethod가 컨트롤 (ascx)의 Jquery 스크립트 위치에서 호출되고 있습니다. 당신의 web.config 파일 어쩌면이 필요

+0

'방법 참조'란 무엇을 의미합니까? 코드를 보여주십시오. 어떤 방법으로 어디에서 전화하려고합니까? –

+0

@OndrejTucny 코드 – mko

답변

1

function InsertRecord(notice) 
{ 
     $.ajax({ 
     type: "POST", 
     url: "/Webservices/Records.asmx/InsertRecord", 
     data: "{ 'notice':'" + notice + '' }", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(response) { 

     }, 
     error: function(msg) {} 

     }); 

} (거기 있는지 확인) :

<webServices> 
     <protocols> 
       <add name="HttpSoap"/> 
       <add name="HttpPost"/> 
       <add name="HttpGet"/> 
       <add name="Documentation"/> 
     </protocols> 
    </webServices> 

을 당신이 당신의 web.config 파일에서 httppost 및 httpget을 uset하는 neeed, 또는 당신의 아약스 전화는 결코 일어나지 않을 것입니다.

+0

이 실제로 문제를 해결하지 못했습니다. – mko

+0

해결책이 메소드 선언에 "정적"을 삭제하는 중입니다. – mko