2013-04-18 4 views
1

페이지로드에서 확인하지 않고 asp.net 웹 페이지 (aspx.cs 페이지)에있는 메소드를 호출 할 수 있습니까? JQuery와 아약스 방법 "PageName.aspx/methodName로"aspx 페이지에서 메소드 호출

예를 들어

는 '나는 우리가 URL을 줄 수있는 것으로 나타났습니다 this link에서

을 ../test2.aspx/TestMethod. 나는 그것을 시도하고 결코 나를 위해 일합니다.

+0

당신의 방법은 정적에 대한 아약스 전화를 사용할 수 있습니까? –

+1

시도한 코드를 게시하십시오. –

+0

pageload에서 확인하지 않고 asp.net 웹 페이지 (aspx.cs 페이지)에있는 메서드를 호출 할 수 있습니까? 예를 들어 브라우저에서 '../test2.aspx/TestMethod'와 같이 줄 수 있습니까? – Sudha

답변

3

페이지 방법은 서버 코드 택시가 Asp.Net 페이지에 바인딩 ASP.Net 응용 프로그램의 새로운 메커니즘입니다

우리는 페이지에 ScriptManager 컨트롤을 드래그하여 표시해야 페이지 방법을 사용하려면
EnablePageMethods를 "True"로 설정하십시오.

<asp:ScriptManager ID="ScriptManager1" runat="server" 
     EnablePageMethods="True"> 
    </asp:ScriptManager> 

우리가 PageMethods이 페이지의 WebMethod를 호출 할 객체를 사용할 수있는 자바 스크립트 함수에서 정적 메서드를

[WebMethod] 
    public static string HelloWorld(string name) 
    { 
     return string.Format("Hi {0}",name); 
    } 

을 페이지 파일 뒤에 코드를 이동하고 추가 할 수 있습니다.

<script type="text/javascript"> 
    function GreetingsFromServer() { 
     var name = 'Jalpesh'; 
     PageMethods.HelloWorld(name,OnSuccess, OnError); 
     return false; 
    } 
    function OnSuccess(response) { 
     alert(response); 
    } 
    function OnError(error) { 
     alert(error); 
    } 
    </script> 
+0

이것은 .net 페이지 (동일한 .net 페이지 서버 측 방법으로 호출)의 경우에 잘 작동합니다. 하지만 뭔가 다른 것을 필요로합니다. – Sudha

+0

.net 웹 페이지에는 test1.aspx와 test2.aspx 두 개가 있습니다. test1.aspx에서 나는 ajax 또는 무언가를 사용하여 test2.aspx.cs에서 메소드를 호출해야한다. 내가 할 수 있을까? – Sudha

+0

예 수다 우리가 할 수있는 일은 .. 그 페이지의 URL을주는 URL – Darshan

2

다른 페이지의 WebMethod

$(document).ready(function() { 
// Add the page method call as an onclick handler for the div. 
    $("#Result").click(function() { 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/GetDate", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
     // Replace the div's content with the page method's return. 
     $("#Result").text(msg.d); 
     } 
    }); 
    }); 
}); 
+0

이 URL처럼 할 수 있습니까 : "Default.aspx/GetDate"??? 이 스크립트를 구현하려면 추가 스크립트 또는 ASP : ScriptManager를 추가해야합니까? 설명해주세요. – Sudha

+0

아니,이 스크립트를 실행하는 데 필요한 스크립트 관리자가 필요하지 않습니다. 추가 만하면 jquery 참조가 필요합니다 ... –

+0

죄송합니다 나를 위해 일하지 않았습니다 .. 우리는 url을 제공하여 메서드를 호출 할 수 있습니까? "Default.aspx/GetDate" asp.net에서? 내가 Ajax의 오류 부분으로 리다이렉트를 시도했을 때 .. – Sudha

관련 문제