Sto guardando un vecchio codice che posso solo assumere funzionato in una volta.PageMethods non è definito in ASPX Pagina
MyPage.aspx:
function GetCompanyList(officeId) {
var companyList = document.getElementById('<%= CompanyDropDown.ClientID %>');
if (companyList.length == 0)
PageMethods.GetCompanyList(officeId, OnGetCompanyList);
else
EditCompany();
}
E:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
codice dietro:
[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();
}
Ma al cal l per PageMethods.GetCompanyList()
nel primo frammento, Chrome riporta:
PageMethods non è definita
Chiunque può vedere che cosa è cambiato per evitare che ciò di lavoro?
Nota: ho trovato domande simili ma sembravano tutte correlate a questo codice non funzionante in pagine master o controlli utente, che non è il caso qui.
Hai sicuramente ragione sul fatto che il metodo sia 'statico', ma non sono sicuro che si lamenterebbe del fatto che il proxy JavaScript sia' indefinito' se non ci fossero metodi di pagina validi. –
@KarlAnderson: cerco di confermarlo ora. –
Sì, questo sembra essere il problema. Ho trovato dove è stato cambiato da statico a non statico qualche tempo fa quando abbiamo refactored parte del codice. Anche se non ho ancora una versione statica funzionante, ora ho un errore diverso da quello che avevo. Grazie! –