javascript - 从 Javascript 调用 aspx 代码隐藏中的函数会引发错误

标签 javascript c# jquery asp.net

窗口完全显示后,我尝试在 .aspx 页面的代码隐藏中调用函数。我尝试使用:

    <script type="text/javascript">
    $(document).ready(function () {
        PageMethods.CheckForPageChange();
    });
</script>

它会抛出以下错误:

0x800a1391 - JavaScript 运行时错误:“$”未定义

我能够让 window.onload 显示警告框,所以我尝试像这样使用它:

    <script type="text/javascript">
    window.onload = function () {
        PageMethods.CheckForPageChange();
    }
</script>

但它会抛出错误“PageMethods 未定义”。

我在“form”标签内有这个:

        <asp:ScriptManager runat="server" ID="ScriptManager1" EnablePageMethods="true"></asp:ScriptManager>

这在我的代码隐藏中:

    [WebMethod]
    public void CheckForPageChange()
    {
        throw new NotImplementedException();
    }

有人可以告诉我我在这里缺少什么吗?非常感谢任何帮助!

最佳答案

0x800a1391 - JavaScript runtime error: '$' is undefined

确保 JQuery 已成功加载。

it throws the error "PageMethods is undefined".

1-您必须将服务器端方法设置为静态方法,如下所示

[WebMethod]
public static void CheckForPageChange()
{
    throw new NotImplementedException();
}

2-像这样调用服务器端方法

<script type="text/javascript">
function OnSuccess(response){
   //Do Stuff
}
function OnError(error){
   //Do Other Stuff
}
$(document).ready(function () {
    PageMethods.CheckForPageChange(OnSuccess, OnError);
});

3- 将您的脚本放在 <asp:ScriptManager> 之外,单独放在<script>中标签

关于javascript - 从 Javascript 调用 aspx 代码隐藏中的函数会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41772289/

相关文章:

javascript - 具有标准样式的 Google map 自定义按钮

javascript - 混合数据类型、函数和对象

c# - 如何使用 C# 为 Excel 中的单元格设置本地化的短日期格式?

javascript - 如何在 IE8 及更早版本中使用 JavaScript 设置光标位置?

jquery - 使用 jQuery 动态改变进度条的颜色

javascript - 在 Javascript 中,为什么 undefined object 的子键返回错误而不只是未定义?

c# - ffmpeg 在 Windows Mobile 上使用 C#

c# - Entity Framework - MySQL - 从 'System.String' 到 'System.Guid' 的无效转换

javascript - 如何展示具体的JSON数据?

javascript - 如何在 ng-2 Material <md-input> 字段中 trim 输入开头的空格