网上提供了很多方法,可以参考这个:
http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html
这里面谈到的主要都是配置方面的问题,其实自己代码中的错误也会导致问题的发生,下面是我自己的。
原来出现错误的代码:
<head>
<script language="javascript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
function CancelAsyncPostBack() {
if(prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
</script>
</head>
注意这断代码是放在head里的!
ScriptManager控件放在body中,而javascript代码放在了ScriptManager控件之前的位置。因为html是逐行加载的
由于var prm = Sys.PageRequestManager.getInstance();在加载ScriptManager控件的js代码之前就被调用了,所以就出现了Sys未定义的情况。但是如果把这行代码放在每个function中,或者把整段js代码放在ScriptManager控件之后,就不会出现这个问题了!
http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html
这里面谈到的主要都是配置方面的问题,其实自己代码中的错误也会导致问题的发生,下面是我自己的。
原来出现错误的代码:
<head>
<script language="javascript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
function CancelAsyncPostBack() {
if(prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
</script>
</head>
注意这断代码是放在head里的!
ScriptManager控件放在body中,而javascript代码放在了ScriptManager控件之前的位置。因为html是逐行加载的
由于var prm = Sys.PageRequestManager.getInstance();在加载ScriptManager控件的js代码之前就被调用了,所以就出现了Sys未定义的情况。但是如果把这行代码放在每个function中,或者把整段js代码放在ScriptManager控件之后,就不会出现这个问题了!