Javascript pageLoad未在母版页中执行

时间:2009-12-09 16:57:15

标签: asp.net javascript javascript-events master-pages

是什么导致以下pageLoad无法在母版页中执行?第一个警报按预期执行,但未调用pageLoad函数。如何在主/内容页面中使用该功能?

<script type="text/javascript">
        alert('test');
        function pageLoad(sender, args) {
            alert('pageLoad');
        }    
</script>

2 个答案:

答案 0 :(得分:3)

我假设您的母版页中存在脚本管理器控件?我不确定客户端pageLoad方法是否仅在初始页面加载时调用。我知道如果你正在寻找ajax回发页面加载钩子,请尝试客户端的PageRequestManager。 确保下面的代码放在脚本管理器中。

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

    <script type="text/javascript" >
    (function() {
        var prm = Sys.WebForms.PageRequestManager.getInstance();

        if (prm)
        {
            prm.add_endRequest(
            function (sender, args) {            
                // do your stuff

                // Handle a weird occurence where an error is returned but the error code is 0, i.e. no error.
                if(args.get_error() && args.get_error().name === 'Sys.WebForms.PageRequestManagerServerErrorException')
                {
                    args.set_errorHandled(args._error.httpStatusCode == 0);
                }
            });
        }
    })();
    </script>

<%-- Other markup --%>
</asp:ScriptManager>

答案 1 :(得分:2)

窗口加载事件

window.onload = function() {
    alert('pageLoad'); 
}

自我执行功能

(function() {
    alert('pageLoad'); 
})();