Patrzę na stary kod, który mogę tylko zakładać, że pracował w tym samym czasie.PageMethods nie jest zdefiniowany w ASPX Strona
MyPage.aspx:
function GetCompanyList(officeId) {
var companyList = document.getElementById('<%= CompanyDropDown.ClientID %>');
if (companyList.length == 0)
PageMethods.GetCompanyList(officeId, OnGetCompanyList);
else
EditCompany();
}
I:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Kod za:
[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();
}
Ale w obi l do PageMethods.GetCompanyList()
w pierwszym fragmencie, Chrome donosi:
PageMethods nie jest zdefiniowana
Czy ktoś może zobaczyć, co się zmieniło, aby temu zapobiec działa?
Uwaga: Znalazłem podobne pytania, ale wszystkie wydawały się powiązane z tym kodem, który nie działa na stronach wzorcowych lub kontrolkach użytkownika, co nie ma miejsca w tym przypadku.
Masz absolutnie rację co do potrzeby, aby ta metoda była "statyczna", ale nie jestem pewien, czy narzekałby on na serwer proxy JavaScript będący "niezdefiniowany", gdyby nie było prawidłowych metod strony. –
@KarlAnderson: Próbuję to teraz potwierdzić. –
Tak, wydaje się, że to jest problem. Zauważyłem, że jakiś czas temu zmieniono ją ze statycznej na niestatyczną, kiedy refaktoryzowaliśmy część kodu. Chociaż nie mam jeszcze działającej wersji statycznej, teraz dostaję inny błąd niż ten, który miałem. Dzięki! –