roc*_*ker 4 asp.net scriptmanager
嗨,我有一个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;
}
Run Code Online (Sandbox Code Playgroud)
但是该页面抛出了一个javascrip错误,因为'Sys.WebForms.PageRequestManager'为null或不是对象.我在scriptmanager标签下面放了.我甚至还说道
<xhtmlConformance mode="Transitional"/>
Run Code Online (Sandbox Code Playgroud)
在web.config.But部分仍然得到相同的错误.
任何帮助深表感谢.提前致谢
使用此代码包装处理程序,以便在调用之前等待加载所有nessesary脚本 Sys.WebForms.PageRequestManager
Sys.Application.add_init(function(){ ... your code ....}
Run Code Online (Sandbox Code Playgroud)
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)
});
Run Code Online (Sandbox Code Playgroud)
简单的英语是什么意思?等到所有脚本都已加载(包括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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17265 次 |
| 最近记录: |