您的位置:首页 > 运维架构

ModalPopupExtender的控制控件能响应服务器事件

2010-11-08 15:47 295 查看
在微软的ajax实现中,一部分是服务端的,也是核心部分,用于控制整个请求的周期。这部分是与原服务器控件结合最紧密的。这部分会托管控件的请求事件。

而另一部分是在前一部分进行扩展的,虽然有些会使用异步与服务器通信,但是更多的部分则是纯客户端脚本的封装。这一部分能大大增强我们的客户端体验。

从 生成的代码中我们也可以看出,如果是ajax服务器控件生成的一个有异步通信功能的代码,并没有在触发这个事件的按钮或者链接上更改任何的代码,还是原来 的__doPostBack('','')回发方式。ajax核心部分会托管这个__doPostBack。而对于ajax control toolkit,则是在初始化真个客户端页面时执行一段代码然后动态的给绑定的控件加入触发的代码。所以你也看不到例如一个Button触发事件的变化。

今天为一个页面添加一个ajax,点击一个button控件以后,弹出一个 ModalPopupExtender定义的一个Panel,这个panel里有一个button控件需要响应服务器事件。

我们首要的问题是要点击这个Button时能够触发Button的这个__doPostBack, 很自然的我们想到onclick这个事件,经过实验我们可以发现Button的onclick并不会被客户端修改。那么要触发这个 Button的__doPostBack也是轻而易举了。我们只需在服务端的Page_Load中加入这个Button的 OnClientClick:


btnAdminOK.OnClientClick = "__doPostBack('" + this.btnAdminOK.UniqueID + "','')";

简单的一句就实现了服务器事件的触发,这样ModalPopupExtender中的Button控件就可以响应服务器事件了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: