从Javascript调用aspx Codebehind中的函数时抛出错误
当窗口完全显示后,我试图调用.aspx页面代码隐藏中的函数。我尝试使用:从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
<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);
});