问题描述
||
我在ASP.NET站点上使用Elastic CSS框架。调整我拥有的各种容器的性能非常好,直到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/zh-CN/library/system.web.ui.scriptmanager.asyncpostbackerror.aspx
, 这是一个猜测,但是我将尝试在包含以下内容的ajax面板中使用带w的文字控件:
<script language=\"javascript\">
Elastic.refresh();
</script>
如果我是正确的话,Ajax面板将重新加载,并且这样做时将自动执行该行代码。