Ich schaue auf einige alte Code, den ich nur auf einmal angenommen annehmen kann.PageMethods ist nicht in ASPX definiert Seite
MyPage.aspx:
function GetCompanyList(officeId) {
var companyList = document.getElementById('<%= CompanyDropDown.ClientID %>');
if (companyList.length == 0)
PageMethods.GetCompanyList(officeId, OnGetCompanyList);
else
EditCompany();
}
Und:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
-Code hinter:
[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();
}
Aber bei der cal l bis PageMethods.GetCompanyList()
im ersten Schnipsel, Chrome berichtet:
Pagemethods nicht
definiert ist
Kann jemand sehen, was das hat sich geändert, um zu verhindern arbeiten?
Hinweis: Ich habe ähnliche Fragen gefunden, aber sie scheinen alle mit diesem Code verwandt zu sein, der nicht in Masterseiten oder Benutzersteuerelementen funktioniert, was hier nicht der Fall ist.
Sie haben definitiv Recht, dass die Methode "statisch" sein muss, aber ich bin mir nicht sicher, dass es sich darüber beschweren würde, dass der JavaScript-Proxy nicht definiert ist, wenn keine gültigen Seitenmethoden vorhanden sind. –
@KarlAnderson: Versuchen, das jetzt zu bestätigen. –
Ja, das scheint das Problem zu sein. Ich habe vor einiger Zeit herausgefunden, wo es von statisch zu nicht-statisch geändert wurde, als wir einen Teil des Codes umstrukturierten. Während ich noch keine statische Version habe, bekomme ich jetzt einen anderen Fehler als den, den ich hatte. Vielen Dank! –