§ ITPOW >> 文档 >> ASP.NET >> AJAX

PopupControlExtener 应用注意-点击 PopupControl 后 PopupControl 不消失

作者:vkvi 来源:ITPOW(原创) 日期:2009-3-10

点击 PopupControlID 对应的控件后,它不消失。

其实要让它消失,得用 PopupControlExtener 的 Commit 方法。具体用法是:

PopupControlExtener1.CommitProperty = "value";
PopupControlExtener1.Commit("选择");

当点击 PopupControlID 对应的控件中的某些按钮或其他控件时,触发一个方法,该方法执行上面的代码,于是 TargetControlID 对应的控件的 value 属性被设置成 Commit() 参数的值。

我个人觉得 PopupControlExtender 设计得并不好,它有两个属性 TargetControlID 和 PopupControlID,它认为 TargetControl 触发 PopupControl,然后 PopupControl 中的控件的方法再赋值给 TargetControl。但是实际运行中,我们可能是三个控件参与:一个专门用于存储或显示 PopupControl 的选择值,一个 TargetControl 用于触发 PopupControl 显示,还有一个 PopupControl。另外它的赋值和让控件消失是一个方法,即 Commit,也让人用起来不方便。

这种情况下,我们根本用不到 CommitProperty,根本不能把值赋给第一个控件,我们只是利用它和 Commit 方法来让 PopupControl 消失罢了。

相关文章