0

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

Elastic.refresh();

我对 C# 和 ASP.NET 非常熟悉,但对 javascript 却不是很好。据我了解,RegisterStartupScript 只注册脚本,我仍然需要一个控件来执行它。

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

4

2 回答 2

2

编辑

在您页面上的 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

于 2011-06-12T00:39:45.287 回答
1

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

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

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

于 2011-06-12T00:38:51.057 回答