在ASP中对异步ajax事件执行一行javascript.NET

executing one line of javascript on asynchronous ajax event in ASP.NET

本文关键字:一行 NET javascript 执行 ASP 异步 事件 ajax      更新时间:2023-09-26

我在ASP上使用Elastic CSS框架。NET网站。在UpdatePanel执行部分回发之前,它在调整我所拥有的各种容器的大小方面做得很好。据我所知,解决方案是执行以下一行javascript

Elastic.refresh();

我很擅长C#和ASP。NET,但没有那么多javascript。据我所知,RegisterStartupScript只注册脚本,我仍然需要一个控件来执行它

那么,当自定义控件捕捉到自定义异常并导致部分回发时,我如何让这一行javascript执行呢?

编辑

在你页面上的javascript中,你也可以尝试类似于的东西

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler);
function PageLoadHandler()
{
    Elastic.refresh();
}

该处理程序将在任何回调后运行,但sender._postBackSettings.panelID将允许您将其筛选到所需的面板。

或者,如果最终请求更适合您的需求,您可以尝试。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function PageLoadHandler()
{
    Elastic.refresh();
}

原始

在具有UpdatePanel的页面上是否有ScriptManager控件?如果是这样,您可能能够利用ScriptManager。AsyncPostBackError,并让它执行您的方法。

http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.asyncpostbackerror.aspx

这只是猜测,但我会尝试在ajax面板中使用一个包含以下内容的文字控件:

<script language="javascript">
Elastic.refresh();
</script>

如果我是对的,Ajax面板将重新加载,并在重新加载时自动执行这行代码。