看了微软MSDN的客户端回调的例子(http://msdn2.microsoft.com/zh-cn/library/ms178210(VS.80).aspx)后我有个问题,如果我的页面有多个控件要实现这样的回调,应该怎么实现???
请高手指点。

解决方案 »

  1.   

    那個例子是beta版本的,到了正式版裏,ICallbackEventHandler的方法已經分爲兩個.這個例子已經不能用了.
      

  2.   

    1.自己封装控件,自己在自己的控件内部实现ICallbackEventHandler支持,实际上我个人认为Page上实现ICallbackEventHandler仅可用于Sample,为了阅读者容易理解,实际应用中绝对不能把ICallbackEventHandler应用到Page上面,因为Callback是局部逻辑,属于哪个局部就把那个局部封装为控件然后实现ICallbackEventHandler。一般来说吧,一个页面上最多就两三个地方需要Callback,那么封装两三个控件不是什么难事,而且封装之后就可以复用了,正如GridView那样。你记住封装就要学者GridView那样去做,把一个局部逻辑封装起来,然后实现ICallbackEventHandler,页面内的控件如果高耦合度无法划分成局部逻辑的话只会让你无法封装。2.ICallbackEventHandler分拆为两个部分是必然,这是为了服务ASP.NET的页面生命周期,因为这两个事件归属于生命周期中的两个阶段。
      

  3.   

    谢谢各位,其实我的实现也是在用户控件上实现ICallbackEventHandler的。
    cat_hsfz(http://cathsfz.5000megs.com) 说的有道理,但比如选择了国家后
    选择省份,选择省份后选择城市这样的控件用这样的回调还是有点不爽,
    当然实现没有问题(比如把用一个xml格式的字符串作为参数传人,然后在public void RaiseCallbackEvent(String eventArgument)中解析参数,再做相应的处理),我就是想知道有没有更完美的方法。
      

  4.   

    Kshatriya(请保护我的眼睛)我已经发消息给你了,我的邮件地址也发给你了。