标签: pagerequestmanager

为什么我的函数在加载UpdatePanel后运行多次

所以我想在更新updatepanel后运行一些javaScript函数,所以我有:

function pageLoad() { 

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_pageLoaded(panelLoaded);
}


function panelLoaded(sender, args) {
        alert("foobar");
}
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,如果我更新面板一次,"foobar"将被提醒一次; 如果我第二次更新面板,"foobar"会弹出两次; 第三次触发面板更新时,"foobar"弹出三次......第四次弹出4次等等......

是什么造成的?

谢谢~~~

vb.net asp.net ajax updatepanel pagerequestmanager

5
推荐指数
1
解决办法
2442
查看次数

更新面板刷新后如何执行javascript(无法获取Sys.WebForms.PageRequestManager.getInstance().add_endRequest();工作)

我试图在更新面板刷新后运行javascript.我读过几个你可以使用类似代码的地方:

function codeToRun() {
    //Code Here
}

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(codeToRun);
Run Code Online (Sandbox Code Playgroud)

但它似乎没有工作......任何想法?我已经尝试将代码放在更新面板的内容区域以及它之外...到目前为止还没有运气.如果您对此可能发生的原因有任何见解,请与我们联系.

谢谢,
马特

javascript asp.net updatepanel scriptmanager pagerequestmanager

4
推荐指数
1
解决办法
1万
查看次数

检查控制启动的AJAX请求

asp.net 2.0/jQuery/AJAX

<script type="text/javascript">
//updated to show proper method signature

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(hideMessage);

function hideMessage(sender, args)
{
    var ctl = args.get_postBackElement();
    //check if ctl is the disired control
    //hide user notification message
}
</script>
Run Code Online (Sandbox Code Playgroud)

我在页面上有几个可能启动AJAX请求的控件,但我只想在点击一个特定按钮时触发我的js.我如何检查启动请求的控件,以便我可以相应地触发JS.

编辑:我解决了这个问题,但我仍然想知道我是否可以这样做.

澄清:我无法从onclick事件中调用JS,因为该页面位于UpdatePanel内部,我只希望JS在AJAX请求结束时执行,并且由页面上的一个特定按钮触发.在服务器端,我将myLabel.Text设置为某些文本,然后js检查$(myLabel.CliendID)的innerHTML是否为空并触发js.检查innerHTML是我的解决办法,因为我无法弄清楚如何检查AJAX请求的"发送者".希望现在这更有意义.

edit2:我已经阅读了一些文档,结果你可以检查"发送者"控件.

谢谢.

javascript asp.net ajax jquery pagerequestmanager

3
推荐指数
1
解决办法
5560
查看次数