페이지 메서드가 ASPX 페이지에 정의되지 않았습니다.
한 번만 작동한 것으로 추정할 수 있는 오래된 코드를 보고 있습니다.
MyPage.aspx:
function GetCompanyList(officeId) {
var companyList = document.getElementById('<%= CompanyDropDown.ClientID %>');
if (companyList.length == 0)
PageMethods.GetCompanyList(officeId, OnGetCompanyList);
else
EditCompany();
}
그리고:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
코드 배경:
[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public IEnumerable<CompanyMinimum> GetCompanyList(int officeId) {
return (
from c in Repository.Query<Company>()
where !c.IsDeleted && c.TypeEnumIndex == (short)CompanyRelationshipType.Hotel
select new CompanyMinimum() {
id = c.Id,
desc = c.Description
}
).ToList();
}
하지만 부름을 받고는PageMethods.GetCompanyList()
첫 번째 스니펫에서 Chrome은 다음을 보고합니다.
페이지 메서드가 정의되지 않았습니다.
이것이 작동하지 않게 하기 위해 무엇이 변경되었는지 누가 알 수 있습니까?
참고: 비슷한 질문을 찾았지만 모두 마스터 페이지나 사용자 컨트롤에서 작동하지 않는 이 코드와 관련된 것처럼 보였는데, 여기서는 그렇지 않습니다.
EnablePageMethods
실제로 오직 a의 방법들과 상호작용합니다.Page
에 해당하는 하위 클래스public
,static
그리고 로 간주됩니다.WebMethod
.
GetCompanyList
그것들 중 2개를 가지고 있고 또한 필요합니다.static
.
[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static IEnumerable<CompanyMinimum> GetCompanyList(int officeId) {
// ...
}
그리고, 무슨 일이 일어나고 있는지 의심스럽습니다.PageMethods
3개의 메서드가 모두 없는 경우 정의되지 않은 클라이언트 측입니다.
ASP를 호출할 수 있습니다.jQuery를 통한 NET AJAX 페이지 메서드는 다음과 같습니다.
$.ajax({
type: "POST",
url: "PageName.aspx/MethodName",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do something interesting here.
}
});
페이지에서 라우팅을 사용하고 있을 수 있습니다.그런 다음 PageMethods를 호출한 후 실제 경로를 설정해야 합니다.
PageMethods.set_path("<%=ResolveUrl("~/YourPage.aspx")%>");
PageMethods.YourMethod(param, OnSuccess, OnError);
제가 생각하는 다른 솔루션의 한 가지 답변은 이 오류가 서버에서 발생하지만 로컬에서는 발생하지 않는 경우 빈 MyPage.aspx 자리 표시자 파일을 배치하고 이제 프로덕션 서버에서도 작동한다는 것입니다.
언급URL : https://stackoverflow.com/questions/18242334/pagemethods-is-not-defined-in-aspx-page
'programing' 카테고리의 다른 글
날짜 범위 사이의 데이터 찾기 (0) | 2023.08.29 |
---|---|
SQL 예외: 오라클의 프로토콜 위반 (0) | 2023.08.29 |
숫자가 무한대와 동일한 위치 선택 (0) | 2023.08.29 |
대응 + 스프링 부트 배포 (0) | 2023.08.29 |
비트 스트림에서 비트 패턴을 검색하는 가장 빠른 방법 (0) | 2023.08.29 |