由于我们在系统将要处理控件事件的时候还未消除客户端和服务器之间的区别,因此我们仍有必要讨论哪一端处理何种事件。实际上,大多数服务器控件只有一两个事件在服务器上进行处理。但是他们最后生成HTML控件却能够生成大量不同的事件以供客户端使用。因此现在的问题是:那些事件在客户端处理,那些事件在服务器端处理?
基本上,那些服务器控件所支持的事件都在服务器上处理。因此对Button控件来说,它所支持的事件只有一个——click事件。而所有可由HTML INPUT控件(该控件生成一个Button服务器控件)生成的其他事件都需要在客户端上进行处理。但是,也能在客户端上进行处理的click事件又是怎么样的一种情况呢?
当存在一个既能在服务器又能在客户端上处理的事件时,该事件会优先在服务器上进行处理。因此拿Button举例来说,如果我们在为click写了一个服务器的事件处理程序的同时,也为它写了一个客户端的事件处理程序,那么客户端的onmouseup事件处理程序,它能够继续在客户端上运行——在控件被传回服务器之前。
评论列表: