GIS 맵 관련 함수에 제 3 자 컨트롤을 사용하고 있습니다. 자바 스크립트 내에서 C# 메서드를 호출해야했습니다. 이 같은 PageMethods
사용하기로 결정했습니다 : 당신은 내가 마우스의 좌표를 전달하고이 방법에서는 [WebMethod]
WebMethod에서 포스트 백 강제 적용
에 방법을 변환 할만큼 매력처럼
PageMethods.getFeature(x,y)
작품을 그리고 그것은 나에게지도를 반환 풍모. 지도에서 강조 표시하겠습니다.
연구에서 내가 [WebMethod] 내부에서 UI에 직접 액세스 할 수 없다는 것을 알았 기 때문에 세션 변수와 포스트 백을 설정하기로 결정했습니다. 세션 변수가있는 경우 다시 게시 할 때 필요한 UI가 변경됩니다.
내 WebMethod
은 다음과 같습니다
[WebMethod(EnableSession = true)]
public static void getFeature(float x, float y)
{...
some code in here.
}
업데이트 이 내 JQuery와이다 : 나는 WebMethod
의 내부에 다시 게시를 강제로 어떻게
<script>
$(document).ready(function (e) {
$(".MyMap").click(function (e) {
var posX = $(this).position().left;
var posY = $(this).position().top;
PageMethods.getFeature(e.pageX-posX, e.pageY-posY);
});
});
</script>
. 포스트 백을 알고있는 대부분의 방식은 작동하지 않습니다.
브라우저는 서블릿에서 서버로 양식을 게시 할 수 없습니다 아르 자형. 이것은 클라이언트 측 작업입니다. 웹 서비스에서 응답을 받으면 다시 게시를 발생시키는 JavaScript를 작성할 수 있습니다. –
@BenRobinson 그건 좋은 지적이야 ... 흠. javascript는 MouseClick 이벤트를 가져오고 이미지가 클릭 된 위치를 파악하는 데 사용됩니다. 그건 C#에서 메서드에 전달됩니다. 'WebMethod'를 사용하지 않고 이것을 달성 할 수있는 다른 방법이 있습니까? JavaScript 함수 jQuery 사용하고 있습니다. – logixologist
jQuery ajax 호출의 결과로 어떤 것을하고 싶습니까? MVC 및 웹 API 컨트롤러는 아약스 요청을 처리 할 수 있으며 웹 API는 특히 강력하고 유연합니다. –