Pagemethod는 페이지에 updatePanel을 추가 한 후 더 이상 호출되지 않습니다.
-
03-07-2019 - |
문제
ASP.NET 2.0에서 ASP.NET AJAX 버전 1.0을 사용하고 있습니다. (아직 3.5로 업그레이드 할 수 없습니다)
나는 JavaScript에 의해 불려질 pagemethod를 가지고있었습니다. 이것은 페이지의 다른 부분에 업데이트 패널을 추가 할 때까지 완벽하게 작동했습니다. 이제 Pagemethod에서 디버그가 켜진 상태에서 페이지를 실행하면 결코 호출되지 않습니다. Pagemethod에 게시물이 호출 될 때 Firebug에서 반환되는 것을 보면 전체 ASPX 페이지가 호출 값 대신 반환되는 것을 알 수 있습니다. 내가 무슨 짓을 한?
다음은 pagemethod에 대한 JavaScript 호출입니다.
function EndRequestHandler(sender, args) {
$('#selectedCHK').change(
function() {
var chkedInput = $('#selectedCHK');
var networkRead = chkedInput[0].checked;
PageMethods.ChangeSelectedNetworkReadFlag(routeNum,
networkRead,
function(msg) { alert(msg); });
}
);
}
$(document).ready(function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
각 요청의 끝에서 EndRequestHandler 함수를 호출하는 점은 ID '#SelectedCHK'가있는 항목이 업데이트 패널 내부에 있으며 UpdatePanel이 새로 고칠 때마다 이벤트가 설정되어야한다는 것입니다.
해결책 2
나는 이것을 알아 냈고 그것은 구성 문제였습니다. 구체적으로 추가해야했습니다.
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
내부u003Csystem.web> 부분.
사이트를 제대로 구성했다고 생각했지만 선적 서류 비치 단계별.
다른 팁
업데이트 패널에서 updateMode를 조건부로 설정해보십시오. 업데이트 패널이 이벤트를 가로 채고있는 것 같습니다.
<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
제휴하지 않습니다 StackOverflow