WebPart开发

Webpart的生命周期

1.       当一个包含WebPartWSS站点页面被响应请求或者是它被提交到Server端的时候,这时WebPart生存周期开始了

2.       OnInit 初始化,加载相关配置文件 (WebPart任务面板上的属性,样式等配置信息) .

3.       LoadViewState 返回先前最后一次被处理的状态 (如webpart是展现,隐藏还是关闭)

4.       CreateChildControls 创建WebPart UI ,通过Controls.Add()方法装载Web 控件 (当Webpart是第一次展现的时候CreateChildControls方法发生在OnLoad方法之前,而经过一次postback之后,它发生在OnLoad方法之后)

5.       OnLoad 从数据库或者其他系统重新获取要展现的数据 (如获取数据库连接)

6.       User-Generated Events 响应用户生成事件 (如Button Click

7.       RendenContents 生成 html output,实现最终的UI展现 (由HTMLTextWriter class 来实现)

8.       SaveViewState 保存控件状态 (ViewState 被序列化之后保存在一个hidden field )

9.       Dispose 从内存中移除对象,释放临界资源 (如释放数据库连接)

10.   OnUnLoad 最终完成内存清除工作

事件

OnInit  处理控件的初始化

 

OnLoad 处理控件的装载

 

CreateChildControls 创建子控件

 

EnsureChildControls   确保CreateChildControls方法被调用,使用该方法来确保在访问控件的数据之前控件已经存在。

 

OnPreRender  处理在呈现控件之前必须完成的任务,例如数据装载。异步页面任务应该从该方法中被启动。

 

Page.PreRenderComplete 在所有的控件都完成其OnPreRender 方法并且页面已经完成了异步任务的执行之后,将会触发该事件。

 

Render 呈现整个控件,包括外部标签。

 

RenderContents  仅仅呈现控件在外部标签和样式属性内的内容。

 

Asp.net风格的webpart

开发步骤

1.打开VS2008或者VS2010,点击新建项目,选择“类库”项目,输入项目名称如:WebParts

2.修改类名称,如修改成:HelloWorld.cs

3.引用System.web,添加命名空间,将HelloWorld类继承:

System.Web.UI.WebControls.WebParts.WebPart,然后重写方法:RenderContents。该方法是将内容输出到控件上的。如:

 

 

 

则部署之后,界面将显示“HellWorld!”。

这只是一个简单的webpart,如果想要写控件,然后加载数据,可以在CreateChildControls中编写控件,然后将控件放入,Controls.Add(…),如果要加载数据则在OnPreRender方法中绑定数据,最后在Render方法中呈现整个控件。点击生成,则开发完成。

部署

1.将项目bin下的dll拷贝到要部署的站点(如80)的bin目录下。

2.修改80站点下web.config,在修改之前切忌备份(养成良好习惯)。

  将该程序集添加为安全控件,添加内容如下:

Assembly:是程序集的名称

Namespace:程序集命名控件的名称。

TypeName=*:表示程序集中所有的类

Safe:是否安全控件

3.打开站点80,点击“网站设置”,以Sharepoint2010做示例。

4.选择库中的“we部件”,如:

 

5.你会看到很多webpart,如图:

 

这些都是页面上已经有的webpart,有系统自带的,有自己的。

.dwp的是WSS2.0下的。

.webpart的是WSS3.0及以上版本的。

6.点击“新建”项目,如

 

 

找到刚刚我们添加的那个webpart,点击“导入库”,则webpart就会添加上。如:

 

7.到要添加该webpart的页面,点击“编辑页面”,选“插入”,找到“杂项”,就会看到刚刚添加的那个webpart,点击“添加”,则会在页面上看到。如:

 

完成了。。。很简单吧。。。

注:此例讲的是手工部署,是为了让读者更加明白部署的原理,还可以通过sharepoint模板建立项目,然后自动部署,其实最终的原理是一样的。

还需要说明的一点是,如果是自动部署,就一定要将dll放入GAC(要放入GAC中的话,就一定要有强命名),放入GAC中有个好处就是可以这样的话,dll就可以被多个应用程序所用了。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值