2011-03-09 6 views
0

까다로운 문제가 있습니다. 나는 자바 스크립트 함수에서 .cs 파일에 정의 된 메서드를 사용해야하는 상황에 처해있다. 문제는 .NET 1.1을 사용하고 AJAX를 응용 프로그램에 사용할 수 없다는 것입니다.AJAX가없는 Javascript의 서버 측 메서드 사용

또한 자바 스크립트에서 서버 측 메서드로 문자열을 전달해야합니다. 자바 스크립트를 구현하는 페이지는 .as입니다.

나는 게시물을 다시 만들고 RaisePostBack 이벤트 처리기 메서드 (.aspx 페이지와 .ascx 사용자 컨트롤에서 모두)를 만들려고했지만 행운이 없었습니다.

누군가가 나를 도와 줄 수 있다면 크게 감사하겠습니다.

더욱 정확하게는. Attachment.cs 클래스에는 Delete() 메서드가 있습니다.

자바 스크립트는 스팬의 onclick 이벤트에서 호출됩니다. javascript 함수의 입력 매개 변수는 첨부 파일을 인스턴스화하는 데 사용해야 할 문자열입니다.

문자열을 사용하여 첨부 파일을 인스턴스화하고 Attachment 객체에 해당하는 Delete() 메서드를 호출하는 메서드를 만들었습니다.

이제 자바 스크립트 함수의 문자열을 내가 만든 메서드로 전달해야합니다. PageMethods를 사용할 수 없습니다. 같은

자바 스크립트 기능은 다음과 같습니다 // 파일 ID가 문자열

function DeleteAtt(fileID) 
{ 
    //I tried PageMethods here, tried posting the page and getting the value through 
    // a RaisePostBack event etc. No luck. 
} 

내가 만든 CS 방법은 같은 것입니다 :

public void DeleteAttachment(string ID) 
{ 
    Attachment obj = new Attachment(ID); 
    obj.Delete(); 
} 
+1

Ajax는 "페이지를 떠나지 않고 JS에서 HTTP 요청하기"라는 용어를 모두 사용합니다. 페이지를 벗어나는 것이 아니라면 Ajax를 수행하지 않고 Ajax를 수행하는 방법을 묻는 것처럼 들릴 것입니다. – Quentin

+0

@ David. 정확하게. 더 정확한 PageMethods를위한 대안. –

답변

1

Microsoft의 "ASP AJAX"가 옵션이 아니거나 jquery/다른 라이브러리 또는 javascript ajax로 작성된 자신의 손이 작동하지 않는다는 것을 의미합니까? ASP AJAX는 .net 버전에서 지원되지 않을 수 있지만, 은 javacript에서 페이지에 액세스하려는대로 확실하게 단순한 javascript가 작동합니다. 문제는이 같은 간단한 경우, 어떤 경우

, jQuery를 사용하여 작동합니다 :

function submit() { 
    $.post(
     "pagename.aspx?string=" + variable, 
     function (data) { 
      alert("Response: " + data); 
    }); 
} 
+0

@Michael. AJAX는 옵션이 아닙니다. AJAX로 구현하는 동안 문제가 발생하기 전에 .NET 버전이 더 많이 필요했습니다. –

+0

설명해 주시겠습니까? Ajax는 다른 언어가 아닙니다. 아약스는 순수한 자바 스크립트를 구현하는 방법 일뿐입니다. 어떤 유형의 상황에서 자바 스크립트를 사용하여 요청을 할 수 있지만 자바 스크립트를 사용하여 비동기 호출을 만들 수 없습니까? –

+0

@Michael. 나는 AJAX가 다른 언어가 아니며 전에 사용 해왔음을 잘 알고 있습니다. 내가 작업하고있는 응용 프로그램은 2005 년부터 생산되고 있습니다 (오래 전에 ..). 제가 지금하고있는 일은 지원과 같은 것입니다. 프로젝트에 참여한 팀은 애플리케이션에서 일부 AJAX 구현을 시도하고 다른 기능이 제대로 작동하지 않는 일부 문제에 직면했습니다. 그래서 내가 말한 바 : "NO AJAX .." –

0

당신은 페이지에 보이지 않는 iframe이를 주입 할 수 있으며 iframe의 SRC를 사용하여 데이터를 다시 서버로 전달할 수 있습니다.

이것은 jQuery와 Prototype이 발명되기 전에 매우 오래된 기법입니다.

다른 대안으로는 http://www.ashleyit.com/rs/을 참조하십시오.

1

어떻게에 데이터를 전송하는 데 필요한 URL에 쿼리 문자열로 콜백 URL을 추가하는 방법에 대한 ? 예 :

초기 페이지 (자바 스크립트)

function send(){ 
    window.location = "submiturl.aspx?str=var& 
         callbackurl=http://www.myurl.com/page.aspx"; 
} 

submiturl.영문 다음은 성공적인 있다면 지금 response.querystring을 사용하여 결정하기 위해 두 쿼리 문자열을 잡는다 [str][callbackurl], 액션/기능을 수행하고 [callbackurl]

response.redirect(callbackurl + "?response=" + data); 

초기 페이지에 다시 응답을 전송/당신이 원하는 어떤 다른 사람은 계속 사업.

이것은 확실히 ajax를 사용하지 않으며 결코 비동기 적이지만 API/콜백 응답 시간이 꽤 오래 걸린 응답 설계 &을 기반으로합니다.