Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript调用aspx Codebehind中的函数时抛出错误_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

从Javascript调用aspx Codebehind中的函数时抛出错误

从Javascript调用aspx Codebehind中的函数时抛出错误,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,当窗口完全显示后,我试图调用.aspx页面代码隐藏中的函数。我尝试使用: <script type="text/javascript"> $(document).ready(function () { PageMethods.CheckForPageChange(); }); </script> 但它抛出错误PageMethods未定义 我有一个表单标签的内部: <asp:ScriptManager runa

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

    <script type="text/javascript">
    $(document).ready(function () {
        PageMethods.CheckForPageChange();
    });
</script>
但它抛出错误PageMethods未定义

我有一个表单标签的内部:

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

有人能告诉我这里缺少什么吗?非常感谢您的帮助

第一个错误的原因是您没有在aspx页面中包含jQuery

下一个错误是因为您没有runat=server。尝试修改脚本管理器,如下所示:

    <script type="text/javascript">
    window.onload = function () {
        PageMethods.CheckForPageChange();
    }
</script>
<asp:ScriptManager ID="ScriptManagerMain"
        runat="server"
        EnablePageMethods="true" 
        ScriptMode="Release" 
        LoadScriptsBeforeUI="true">
</asp:ScriptManager>
0x800a1391-JavaScript运行时错误:“$”未定义

确保JQuery已成功加载

它抛出错误PageMethods未定义

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-将脚本放在外面,放在单独的标签中

类似的。。。$错误是因为在jQuery到达该行时您尚未加载它。pagemethods必须是静态的。OP在ScriptManager`调用中具有runat=server。我想你是指LoadScriptsBeforeUI属性。
<script type="text/javascript">
function OnSuccess(response){
   //Do Stuff
}
function OnError(error){
   //Do Other Stuff
}
$(document).ready(function () {
    PageMethods.CheckForPageChange(OnSuccess, OnError);
});