最近评论
正在载入评论列表...
![]() |
![]() |
完成一个“真正的”的控件,需要考虑很多问题,在这些问题中,首要解决的就是整个控件项目由哪几部分组成,这些组成部分分别在什么地方实现。这个问题看似简单,实际上不用说需要使用在不同场景的控件,就连普通的页面开发都会令不少ASP.NET的初学者迷惑:“这个功能到底是实现在客户端,还是实现在服务端呢?”
传统的ASP.NET控件通常会把控件功能尽量实现在服务端处理,比如Calendar控件。实现在服务端带来的好处是利用C#等现代语言实现业务逻辑是一件比较轻松的事情,此外在服务端执行比在客户端更有保障。
但现在控件的功能有往前端迁移的趋势,比如ASP.NET 2.0中的TreeView控件和GridView控件都实现了部分类似于AJAX的功能。而ASP.NET AJAX ControlToolkit这样的后来者则更是由大量客户端行为组成。功能前置带来的好处是减少了客户端与服务端之间的往返次数,用户交互更加流畅。
不管怎样,控件设计始终由运行时功能设计和设计时效果设计两部分组成。DateChooser控件已经向您展现了这一过程。