IMZRH的日志

努力成为一个有用的人

导航

实现igoogle效果的两种方法比较

Posted on 2008-01-25 15:56  张荣华  阅读(2559)  评论(12编辑  收藏  举报
    前一段时间做的一个项目中,要用到类似于igoogle这样的效果,因为项目工期比较紧,所以便想到了用Asp.Net中的WebPart来处理这部分功能,这样既快又省事。但是后来在实际开发过程中,发现webpart并不适合,因为webpart是微软的产品,所以继承了微软一贯的作风,几乎所有的东西都封装起来了,能让程序员自己控制的地方太少了。比如说,我想要调整一下AppearanceEditorPart的外观就很难实现(是不是有较好的实现,只是我不知道呢?)。
    于是乎,后来我便决定利用javascript+ajax+sql server自己来实现,这样虽说没有像webpart那样的现成控件可以利用,但是在网上也有许多的利用js来实现拖拽的demo可以参考,更重要的是,利用这种方式来实现,几乎所有的一切自己都可以控制,可以得到最大限度的灵活性。
    最后,来比较一下两种实现方法吧:

    1 用webpart来实现igoogle效果,可以利用许多现成的控件,比如前面提到的AppearanceEditorZone以及PageCatalogPart等,这在一定程度上可以加快项目的进度,但是WebPart有一个缺点,就是要想实现控件的自定义,比较麻烦,这方面的资料也较少。有关WebPart的资料大家可以看使用用户控件和定制的Web部件个人化你的门户网站

     写完本文不久后,有幸读了“道不远人---深入解析Asp.net2.0控件开发”一书,书中第11章对webpart框架做了深入讲解,其中讲解怎样自定义webpart的各个控件,想要基于webpart做项目的朋友,可以看一下这本书。

    1 利用js + ajax + sql server 来实现igoogle效果,就不能像webpart那样利用现成的控件,所有的一切都要自己去处理,比如你要用js去控制拖拽,要用ajax技术异步读取和设置在sql server数据库中存储的设置。但是这样虽说麻烦一点,但是在网上有许多的文章可以参考,这在一定程度上降低了开发难度,如果你很懒,不想找网上的文章,可以看一下这个http://cid-a5242842a85f6a16.skydrive.live.com/browse.aspx/JS这上面有一个例子,这个例子的缺点就是没有实现数据库存储,当然你完成可以完善它,我在项目的应用就是基于这样的例子自己完善的。