2010-03-08 6 views
1

자바 스크립트 메소드와 코드 숨김 메소드에 액세스해야하는 웹 애플리케이션이 있습니다. 이 특정 구현에서는 프로그램 흐름 관점에서 어떤 순서로 호출되는지는 중요하지 않습니다.코드 뒤에서 자바 스크립트 호출하기와 자바 스크립트에서 코드 호출하기

나는 뒤에 코드에서 자바 스크립트를 호출하는 것이 적합 할 것이다 때 자바 스크립트와 전화를 뒤에 코드를 사용하는 것이 적합 할 경우에 대한 통찰력을 찾고 있어요. 어떤 방법으로 그것을 수행하는 데 어떤 파급 효과가 있습니까? 아니면 구현을 계속하기 전에 내가 알아야 할 다른 것이 있습니까?

그것을 할 수있는 가장 좋은 연습 방법이 아니면 실제 구현에 매우 구체적인입니까?

답변

1

자바 스크립트에서 서버 측 코드를 호출하는 방법에 대해 설명합니다. 이것은 Ajax를 사용하여 수행됩니다. 웹 서비스에서 웹 메소드를 호출 할 수 있으며 특수 속성으로 페이지 메소드를 꾸미면 페이지 메소드를 호출 할 수도 있습니다.

JS 서버 측 전화의 주된 이유는 AJAX 기능을 사용하기위한 것이다. 이 페이지에 자바 스크립트 코드를 삽입 한 후 클라이언트 코드가 어떤 행동 호출 할 때 서버 측에서

호출 JS는 기본적이다.

UPDATE :

이 양식 사용 document.form.submit을 제출 수동으로 포함 할 수 있습니다 자바 스크립트에서 서버 측을 호출해야하는 경우도 다른 이유가있을 수 있습니다(). 하지만 저는 대부분 90 % 이상이 아약스를 사용하여 비동기 적으로 작업을 수행하기 위해 서버 측 코드를 호출한다고 말합니다. 당신이 GridView 컨트롤 내부에 포함 된 버튼으로 확인 상자를 추가 할 때 일반적인 예는 수 있습니다 두 번째 시나리오의 경우

. 이 시나리오에서는 gridview 컨트롤의 databound 이벤트에 코드를 추가하고 gridview에 포함 된 단추에 javascript 코드를 추가합니다. 마지막으로 gridview가 렌더링되면 gridview 내부의 버튼에 javascript가 첨부되고 사용자가 버튼을 클릭하면 확인 상자가 팝업됩니다. 또 다른 시나리오는 포스트 백이 발생한 후 새 팝업 창을 열려고 할 때입니다. 작동 시험 한

+0

Javascript의 서버 측 코드 호출이 Ajax 기능을 원할 때 사용된다고 말씀 하시겠습니까? 이것은 유일한 시간인가 아니면 다른 고려 사항입니까? 또한 두 번째 시나리오에 대한 토론에 대해 자세히 설명해 주시겠습니까? 내가 어떻게,하지만 언제/왜 당신이 나중에 호출을 위해 자바 스크립트를 주사겠습니까 이해합니까? – mwright

+0

내 대답을 편집했습니다! – azamsharp

0

서버 코드에서와 마찬가지로 "코드 숨김"을 의미할까요? 자바 스크립트 코드는 서버 코드를 호출 할 수 없습니다. 일반적으로 서버 코드는 JS 변수, JS 함수 또는 컴파일시 결정할 수없는 다른 클라이언트 코드를 출력합니다.

EDIT : JS 코드는 Ajax를 통해 확실히 POST 할 수 있습니다. 실제로이 코드는 서버 코드를 호출합니다. Visual Studio에서 "같은 페이지에"있기 때문에 JS에서 코드 숨김 함수를 직접 호출하는 방법에 대해 묻고 있다고 생각했습니다. Ajax를 사용할 수있는 기능을 노출하지 않고 클라이언트 측 Ajax 메커니즘을 사용하여 호출하지 않는 한 가능하지 않습니다. 그들.

질문에 대한 답변을 얻으려면 구체적인 사용 사례가 유용 할 것입니다. 이 일을하는 일반적인 옳거나 그른 이유는 없습니다 - 당신이 성취하고자하는 것에 달려 있습니다.

+0

한 설정이 고려되고는 온 클릭 이벤트가 해당 페이지에 대한 숨김에서의 WebMethod를 호출하는 자바 스크립트 기능을 실행한다는 것이다. 어쩌면 내가이 게시물에 대해 당신이 의미하는 바를 이해하지 못 하겠지만, 그것은 선택적인 것으로 보인다. – mwright

+0

실제로 JavaScript 코드가 서버에 대한 콜백을 수행 할 수 있습니다. 한 가지 방법은 ICallBackEventHandler 인터페이스 (http://msdn.microsoft.com/en-us/library/system.web.ui.icallbackeventhandler)를 사용하는 것입니다.aspx) –

+0

예, 원하는 수의 Ajax 방법론을 사용하여 JS 코드에서 서버에 대한 게시물을 확실히 실행할 수 있습니다. 이것은 "JS에서 호출하는 페이지 비하인드 코드"와는 다릅니다 (본질적으로 가능하지 않습니다). 서버에서 Ajax 지원 메소드로 메소드를 노출하거나이 목적을 위해 구축 된 프레임 워크 기능을 다음과 같이 사용해야합니다. @Tim Goodman이 언급했다. –

관련 문제