在Web Part中使用User Control

最近在项目开发过程中,经常会写Web Part,但是Web Part开发调试不是那么方便,我就想能不能先用User Control开发自己的模块,然后把User Control加到Web Part里面去呢? 这样不仅能够提高开发效率,而且也能复用以前开发过的模块。下面就详细说明具体如何操作:
  1. 新建一个Class library project,添加对System.Web的引用
   在Web Part中使用User Control_第1张图片
 
2. 项目添加一个user control
   在Web Part中使用User Control_第2张图片
 
3. 编写这个Web Part
  在Web Part中使用User Control_第3张图片
  4. 为程序集添加强名称
在Web Part中使用User Control_第4张图片
 
  5. 更改build的输出目录,改为C:\Inetpub\wwwroot\wss\VirtualDirectories\[Site的端口号]\_app_bin\
在Web Part中使用User Control_第5张图片
  6. 修改AssemblyInfo.cs,添加using System.Security;和 [assembly: AllowPartiallyTrustedCallers()]
   在Web Part中使用User Control_第6张图片
 
  7. 更改user control的属性,将Copy to output directory改为copy if newer
   在Web Part中使用User Control_第7张图片
 
  8. Build工程

  9. 用Reflector打开刚刚生成的dll,找到Assembly的信息
   在Web Part中使用User Control_第8张图片
 
  10. 打开C:\Inetpub\wwwroot\wss\VirtualDirectories\[Site 端口号]\web.config文件,在SafeControls下添加一行
     <SafeControl Assembly="BR.WebParts.UControlDemo1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1e038d98fe593539" Namespace="BR.WebParts.UControlDemo1"  TypeName="UserControlPart" Safe="True"/>
  其中Assembly的信息是从Reflector里面取到的
 10.最后把这个Web Part添加到网页上就可以了

KaneBoy的一篇文章提到 使用Feature的部署DelegateContorl的方式部署一个ascx文件到站点集的Feature
0
0
(请您对文章做出评价)
« 上一篇: 我常用的javascript方法
» 下一篇: Linq To XML 学习
 posted on 2007-06-26 16:45 紫色阴影 阅读(1563) 评论(8)   编辑 收藏 所属分类: SharePoint 2007

#1楼     回复   引用     
  bxstar[未注册用户] | 2007-06-26 17:48
在第2步,我这里为什么不能添加User control
#2楼     回复   引用     
  紫色阴影[未注册用户] | 2007-06-26 20:07
@bxstar
不能直接添加。你可以新建一个web工程,在那个工程里面添加web user control后,复制过来

#3楼     回复   引用     
  墨奴[未注册用户] | 2007-07-02 14:31
嗯,不错,顺利的实现了。但愿我在我这个MOSS项目中能用到吧。谢谢咯。
#4楼     回复   引用     
  Andy[未注册用户] | 2007-07-05 09:45
小子真的很快啊,就弄上来了。呵呵!
#5楼     回复   引用     
  RevengeBoy[未注册用户] | 2007-07-09 15:39
哥们 这个方法 的却不错... 要是能 显示属性就好了... 象quickpart 那样
#6楼     回复   引用   查看     
  努力学习的熊        | 2007-07-24 18:06
这个可以实现包装出属性来,我已经试过了,没有问题:)
#7楼     回复   引用     
  RevengeBoy[未注册用户] | 2007-08-21 18:29
方便发个例子看看吗 谢了 [email protected]

#8楼     回复   引用     
  chenlinglin[未注册用户] | 2008-10-29 10:38
用个Quick不就行了么?!!

你可能感兴趣的:(user)