Webpart深入(二)

1.  在做Webpart开发时, 创建一个好的基类, 会令你事半功倍. 通常这个基类要继承自UserControl并实现IwebPart接口.

2.  对于视图权限的控制: 通常我们会在Web.config中做如下配置来控制谁可以进入共享视图,谁可以改变视图状态. 但是这就造成了权限游离于统一的权限体系了.那么如何让其统一呢?

Code

 

 

机会就在PersonalizationProvider类的虚方法DetermineUserCapabilities(WebPartManager webPartManager). 通过重载这个方法, 我们可以不打乱现有Web.config配置的权限的基础上加入自己的控制. 
Code

3.  实现一个可无限次使用,且什么都能装的Webpart, 听起来不错,呵呵: 思路简单, 就是在一个用户控件中只放一个Iframe控件, 然后在控件添加到页面时,动态的给这个Iframe赋值. 但是其中有几个关键点,

其一,就是给这个控件动态赋值的属性,必须被作为个性化的信息, 保存到数据库中, 否则下次再打开页面,就找不到原来Iframe中的地址了. 这时,需要给个性化的属性添加特征标签:

     [Personalizable]

     public string ModuleUrl { get; set; }

有了这个标签, 控件第一次被添加到页面时, 动态的赋值就被记录为个性化信息了. 下次打开是就被还原了.

动态赋值的时机就在CatalogPart. GetWebPart()方法调用时.

   其二, 就是Iframe不能自适应高度,总是出现滚动条. 并且使用javascript无法访问到Iframe中内容页面的高度,因为是拒绝访问的. 这是可以通过IframeBehavior配合相应的javascript, 通过不停的触发行为, 让他总是调整为正好合适的高度.(有点费性能) 如果有好的办法, 希望各位高手不吝赐教.

posted @ 2009-02-26 10:43  大熊(BigBear)  阅读(863)  评论(0)    收藏  举报