当前位置: 首页 > 面试题库 >

在ASPX页面中未定义PageMethods

凌黎明
2023-03-14
问题内容

我正在查看一些旧代码,这些代码只能一次使用。

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会报告:

未定义PageMethods

谁能看到为防止这种情况发生了什么变化?

注意:我发现了类似的问题,但它们似乎都与此代码有关,无法在母版页或用户控件中使用,在这里不是这种情况。


问题答案:

EnablePageMethods实际上只有一个方法相互作用Page被子类publicstatic及归属作为WebMethod

GetCompanyList有2个,也需要是static

[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static IEnumerable<CompanyMinimum> GetCompanyList(int officeId) {
    // ...
}

而且,我怀疑正在发生的事情是,PageMethods如果找不到任何具有全部3种方法的方法,它将留下未定义的客户端。



 类似资料:
  • 我正在使用视频标签播放我的项目中的视频,我想它只播放mp4。它在chrome中播放有一点滞后,但在ie或Firefox中不播放。我想知道是否有一个简单的修复或更好的嵌入vlc播放器。 并在后端为源设置src。

  • 我面临以下问题:每当我单击时,显示。 Web方法: Ajax脚本

  • 我对ASP.NET很陌生,我正试图创建一个学习网站。我在用PHP开发网站,在这里我使用< code >在主页面中包含了另一个PHP文件 我在某个地方看到了这个代码,但它不起作用。

  • 我想根据文档从控制器调用Laravel重定向 https://laravel.com/docs/5.6/redirects#redirecting-controller-actions 但我得到了这个错误: 未定义[/gosterge_paneli]。 下面是我的代码的样子 布局刀身php web.php

  • 问题内容: 我需要从.aspx网页中抓取查询结果。 http://legistar.council.nyc.gov/Legislation.aspx 该网址是静态的,那么如何向该页面提交查询并获得结果?假设我们需要从相应的下拉菜单中选择“所有年份”和“所有类型”。 那里的人必须知道该怎么做。 问题答案: 作为概述,您将需要执行四个主要任务: 向网站提交请求, 从站点检索响应 解析这些响应 在上面的

  • YDoc 的页面可支持 .md、.jsx、.html 三种类型。我们推荐大部分的文档内容 使用 markdown 编写,少数个性化页面使用 html 或 jsx 实现。 Markdown 规则 YDoc 会根据 markdown 内容获取网站标题和描述信息,如下所示,YDoc 会将当前页面标题设置为 “示例”, 页面描述信息设置为 “这是一个示例。”。 # 示例 这是一个示例。 ## 章节1