gpt4 book ai didi

asp.net - 'Sys.WebForms.PageRequestManager' 为空或不是对象

转载 作者:行者123 更新时间:2023-12-05 00:03:22 27 4
gpt4 key购买 nike

嗨,我有一个 aspx 页面,其中包含以下代码

  <asp:ScriptManager ID="scriptManager" runat="server" AsyncPostBackTimeout="500" EnablePageMethods="true">
</asp:ScriptManager>

<script type="text/javascript">
Sys.Application.add_init(BeginRequestHandler);
Sys.Application.add_init(EndRequestHandler);

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
AsynProcessing('block', 'AlertDiv', 'ProcessingImage');
}
function EndRequestHandler(sender, args) {
AsynProcessing('none', 'AlertDiv', '');
}
function AsynProcessing(visstring, elem, img) {
var adiv = $get(elem);
adiv.style.display = visstring;
adiv.image = img;
}

但是页面抛出了一个 javascrip 错误,因为“Sys.WebForms.PageRequestManager”为空或不是对象。我已经把下面的脚本管理器标签。我什至尝试添加
<xhtmlConformance  mode="Transitional"/>

在 web.config 的部分中。但仍然出现相同的错误。
任何帮助深表感谢。提前致谢

最佳答案

在调用 Sys.WebForms.PageRequestManager 之前,使用此代码包装您的处理程序,以等待所有必要的脚本加载完毕。

Sys.Application.add_init(function(){ ... your code ....}

http://msdn.microsoft.com/en-us/library/bb397532.aspx

编辑:这一行错误的原因 Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandl‌​er)脚本还没有加载,所以如果你想处理异步回发,你必须写这样的东西:
Sys.Application.add_init(function(){ 
Sys.WebForms
.PageRequestManager
.getInstance()
.add_beginRequest(BeginRequestHandler)
});

简单的英语是什么意思?等待所有脚本加载完毕(包括 Sys.WebForms 命名空间)并订阅事件 beginRequest你的脚本块应该是这样的:
<script type="text/javascript">
Sys.Application.add_init(function () {
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
});
Sys.Application.add_init(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
});

function BeginRequestHandler(sender, args) {
AsynProcessing('block', 'AlertDiv', 'ProcessingImage');
}
function EndRequestHandler(sender, args) {
AsynProcessing('none', 'AlertDiv', '');
}
function AsynProcessing(visstring, elem, img) {
var adiv = $get(elem);
adiv.style.display = visstring;
adiv.image = img;
}
</script>

关于asp.net - 'Sys.WebForms.PageRequestManager' 为空或不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062286/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com