FineUI 官方论坛
标题:
通过客户端脚本关闭窗口的按钮需要设置EnablePostBack
[打印本页]
作者:
李明海
时间:
2013-10-31 18:04
标题:
通过客户端脚本关闭窗口的按钮需要设置EnablePostBack
[attach]3546[/attach] 在IE9下,点击关闭就报错,
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnClose.OnClientClick = ActiveWindow.GetHideReference();
}
}
复制代码
protected void btnSave_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
复制代码
作者:
sanshi
时间:
2013-11-1 09:41
我调试了一下,这个不是BUG。不过是个很好的案例,常会遇到:
在后台设置了关闭按钮的客户端点击事件:
btnClose.OnClientClick = ActiveWindow.GetHideReference();
复制代码
则前台要为按钮添加 EnablePostBack="false",阻止点击按钮回发页面。
==============================================================================
否则,会为按钮生成如下JS代码:
Ext.create('Ext.button.Button', {
x_state: x4_state,
id: "Panel1_Toolbar1_btnClose",
text: "关 闭",
cls: " x-btn-text-icon",
icon: "/icon/system_close.gif",
handler: function () {
(function () {
var aw = X.wnd.getActiveWindow();
if (aw) {
aw[0].x_hide();
}
})();
X.disable('Panel1_Toolbar1_btnClose');
__doPostBack('Panel1$Toolbar1$btnClose', '');
}
})
复制代码
在执行到 X.disable 时,当前页面已经关闭了,自然找不到 X 对象,就报错了。
作者:
李明海
时间:
2013-11-1 10:15
谢谢,明白了。搞定!!
欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/)
Powered by Discuz! X3.4