FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 8012|回复: 8

弹出窗口返回父页面执行程序问题

[复制链接]
发表于 2012-3-8 13:48:30 | 显示全部楼层 |阅读模式
注册按钮的OnClientClick事件后GetShowReference窗口,但在弹出窗口的同时就执行了按钮的服务器端Click事件,想要返回后执行就得另起程序在window的OnClose中执行,这在按钮存在弹出窗口条件时不是很方便。能否提供一个像showModalDialog模式窗口一样先执行完客户端返回后再执行服务器端事件的解决方法,或许现在存在这种方法?还请指导
发表于 2012-3-8 14:47:10 | 显示全部楼层
1、按钮的EnablePostBack="false",就不会在弹出窗口的同时就执行了按钮的服务器端Click事件了。
<ext:Button ID="btnAdd" runat="server" Icon="Add" EnablePostBack="false" Text="添加" />

2、弹出窗中的关闭按钮注册客户端事件:
btnClose.OnClientClick = ExtAspNet.ActiveWindow.GetConfirmHidePostBackReference();
这样在关闭窗口后会触发窗口的OnClose事件。
 楼主| 发表于 2012-3-8 16:39:35 | 显示全部楼层
杜志彬 发表于 2012-3-8 14:47
1、按钮的EnablePostBack="false",就不会在弹出窗口的同时就执行了按钮的服务器端Click事件了。

哥们没明白我什么意思,我是希望点击按钮后先执行客户端弹出窗口,后执行服务器端程序,也就是按钮不设置EnablePostBack="false"让他回发。
我上面已经说了,利用回发后窗口的OnClose事件是能继续执行服务器端程序,但是并不像showModalDialog那样能够在按钮的服务器端Click事件中顺序执行。如果我的按钮在不同的条件下需要弹出或不弹出窗口,那么将使我的服务器端程序分散到按钮OnClick和窗口OnClose不同的事件中,不利于程序的逻辑性
发表于 2012-3-9 10:13:32 | 显示全部楼层
你所说的问题确实存在,非模式窗口会在执行完全部客户端脚本后再执行服务端事件,我以前没有用过模式窗口。或许你可以把弹出窗口后需要处理的客户端代码放在窗口中的关闭按钮上,处理完服务端事件后向页面再注册客户端脚本的方式,也相当于变通地解决问题。只是建议,我不太了解你的实际应用场景。
发表于 2012-4-14 00:08:10 | 显示全部楼层
弹出窗口返回父页面执行程序问题
你实现了吗
发表于 2012-4-15 17:27:33 | 显示全部楼层
过往烟云 发表于 2012-4-14 00:08
弹出窗口返回父页面执行程序问题
你实现了吗

弹出窗口返回父页面执行程序问题
你实现了吗
发表于 2012-4-15 17:28:05 | 显示全部楼层

弹出窗口返回父页面执行程序问题
你实现了吗
发表于 2012-4-21 21:09:14 | 显示全部楼层
过往烟云 发表于 2012-4-15 17:28
弹出窗口返回父页面执行程序问题
你实现了吗

        {弹出窗口返回父页面执行程序问题
你实现了吗
发表于 2019-1-26 16:51:25 | 显示全部楼层
请问解决了吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-3-28 17:45 , Processed in 0.047584 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表