Tôi đang xem một số mã cũ mà tôi chỉ có thể giả định làm việc cùng một lúc.PageMethods không được định nghĩa trong ASPX Page
MyPage.aspx:
function GetCompanyList(officeId) {
var companyList = document.getElementById('<%= CompanyDropDown.ClientID %>');
if (companyList.length == 0)
PageMethods.GetCompanyList(officeId, OnGetCompanyList);
else
EditCompany();
}
Và:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Mã đằng sau:
[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();
}
Nhưng tại cal l để PageMethods.GetCompanyList()
trong đoạn đầu tiên, Chrome báo cáo:
PageMethods không được định nghĩa
bất cứ ai có thể xem những gì đã thay đổi để ngăn chặn điều này làm việc?
Lưu ý: Tôi đã tìm thấy các câu hỏi tương tự nhưng tất cả dường như có liên quan đến mã này không hoạt động trong trang chính hoặc điều khiển người dùng, điều này không đúng ở đây.
Bạn chắc chắn đúng về sự cần thiết của phương thức để được 'tĩnh', nhưng tôi không chắc chắn nó sẽ khiếu nại về các proxy JavaScript được' undefined' nếu không có phương pháp trang hợp lệ. –
@KarlAnderson: Cố gắng xác nhận điều đó ngay bây giờ. –
Có, điều này có vẻ là vấn đề. Tôi tìm thấy nơi nó đã được thay đổi từ tĩnh để không tĩnh một số thời gian trước đây khi chúng tôi refactored một phần của mã. Trong khi tôi không có một phiên bản tĩnh làm việc được nêu ra, bây giờ tôi nhận được một lỗi khác với một trong những tôi đã có. Cảm ơn! –