让阳光指引生命的每一刻,乘着风,跟随我融化空气

美丽的地球,有美丽的cnblog [hjp3]hjptype=song&player=1&son=http://www.taihugolf.com.cn/villa/sound_00ok01.mp3&autoplay=yes&autoreplay=1&bgcolor=FFFFFF&width=200&height=20[/hjp3]

asp.NET自定义服务器控件内部细节系列教程五


如大家要转载,请保留本人的版权:
/*
*Description:asp.NET自定义服务器控件内部细节系列教程
*Auther:崇崇-天真的好蓝
*MSN:chongchong2008@msn.com
*Dates:2007-05-20
*Copyright:ChongChong2008 YiChang HuBei China
*/


五 服务器控件的回传架构

   参与回传架构主要有两个重要的接口IPostBackEventHandler和IPostBackDataHandler接口
   IPostBackEventHandler接口使控件引发一个标志着已经发生回传的事件。
   IPostBackDataHandler接口使控件检索已被传送的表单数据,从而相应的更新状态,然后在服务器端引发事件以标志其状态变化。

   1。IPostBackEventHandler
      1.1 把回传事件映射到服务器端事件
          public interface IPostBackEventHandler
          {
      void RaisePostBackEvent(string eventArguments);
          }
          eventArguments参数是为了如果控件生成了能够引起回传事件的多个HTML标签,那么可以利用这个参数来识别而引发不同的事件。

      1.2 生成回传的客户端脚本
          如果想利用一个超级链接来引起回传,同样需要先实现IPostBackEventHandler接口,然后需要利用下面的方法:
          Page.GetPostBackClientHyperlink(object ,string);

          GetPostBackClientHyperlink主要实现两个功能:
             第一:返回一个字符串"javascript:__doPostBack('youControlUniqueID','')",该字符串包括一个由页面框架生成的到__doPostBack javascript函数的调用。
             第二:告知页面生成两个隐藏域(__EVENTTARGET和__EVENTARGUMENT),以及一个引起回传(____doPostBack)的javascript函数.


    2。IPostBackDataHandler
       为了参与数据回传处理必须实现IPostBackDataHandler接口,它右两个方法
       public interface IPostBackDataHandler
       {
          bool LoadPostDate(string postDateKey , NameValueCollection postCollection);
          void RaisePostDateChangedEvent();
       }

       在加载回传数据阶段,页面查看名/值表单传送集中的每一个名字,并且寻找控件树中与名字匹配的UniqueID控件。如果页面找到这样一个控件,并且这个控件实现IPostBackDataHandler,则页面在这个控件上调用LoadPostData.

       LoadPostData方法有两个参数,一个包含回传元素名称的字符串和一个包含传送表单数据的名/值集的System.Collections.Specialized.NameValueCollection实例。控件可以用回传数据来更新它的状态。
       如果控件状态在回传时改变,而且希望引发事件来标记此变化,那么必须从LoadPostData方法中返回True值。
       当控件的LoadPostData方法返回True时,页面会调用此控件的RaisePostDateChangedEvent方法。


 

posted on 2007-05-21 09:25 天真的好蓝啊 阅读(334) 评论(0)  编辑 收藏 网摘 所属分类: C#.NET


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-05-21 10:37 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:
 

My Links

Blog Stats

News

与我联系

搜索

 

常用链接

留言簿(1)

我管理的小组

我参加的小组

我的标签

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

集从人之所长,创造博客社区神话,实现梦想!