庖丁解牛Asp.net3.5控件和组件开发技术系列—事件和数据回发机制(二)
string strNewValue = postCollection[this.UniqueID]; if( strOldValue == null || ( strOldValue != null && !strOldValue.Equals (strNewValue))) { this.Text = strNewValue; return true; } return false; } /// <summary> /// 仅当上面方法LoadPostData返回true时,此方法将会执行 /// </summary> public virtual void RaisePostDataChangedEvent() { OnTextChanged(EventArgs.Empty); } public event EventHandler TextChanged; protected virtual void OnTextChanged(EventArgs e) { if (TextChanged != null) { TextChanged(this, e); } } } 下面就使用一下我们刚刚开发的控件,看看运行的结果。编译控件后从工具箱拖一个控件到页面上,并注册它的TextChanged服务端事件,最终代码如下:
对应的后台服务端事件方法体如下:
方法体的功能主要是弹出一个客户端提示窗口,表示已经成功从客户端回发事件到服务端。在浏览器中运行页面,在文本框中随便输入几个字符,然后把焦点移出文本框,即可以执行回发事件。该回发事件与单独使用另外的Button提交效果是一样的。 提示:运行成功后,仍然要跟踪调试控件的代码,以便能够正确深刻地理解事件回发机制。对于本章的这些示例程序,都是笔者精心选择的,示例代码短(那些甚至能够占半章的无用的代码贴出来,不仅占用篇幅,而且不易阅读理解),但它们已经能够包含相关章节的所有知识点了,因为只要掌握本章的这几个例子,再开发任何的回发控件就非常简单了。 最后,分析一下使用类PostBackOptions时,输出到客户端的源代码结构:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |