惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
D
Docker
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
F
Full Disclosure
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
L
LangChain Blog
H
Help Net Security
B
Blog
T
Tailwind CSS Blog
V
V2EX
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
美团技术团队
A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
I
InfoQ
Project Zero
Project Zero
I
Intezer
Google DeepMind News
Google DeepMind News
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
Last Week in AI
Last Week in AI
C
Cyber Attacks, Cyber Crime and Cyber Security
G
GRAHAM CLULEY
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
S
Securelist
Recorded Future
Recorded Future
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 叶小钗
S
Security Affairs
Blog — PlanetScale
Blog — PlanetScale
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
The Hacker News
The Hacker News

博客园 - 一瞬间

表格隔行换色与鼠标经过变色 - 一瞬间 - 博客园 如何使SharePoint文档库能为PDF文件显示正确的图标 在WSS搜索结果页面中高亮显示搜索关键字 创建WSS站点时自动应用主题 SharePoint 2007 URL地址快速一览表 如何在MOSS2007删除或隐藏列表的下拉工具栏中的栏目 基于ASP.NET Ajax技术的WebPart开发(转) 利用Javascript获取上传文件、图片 - 一瞬间 - 博客园 推荐一下一个Sharepoint的Solution——Sharepoint SmartTools Javascript 中的事件绑定 & FireFox中的透明度 Asp.net常用的一些代码(转载+融合) - 一瞬间 - 博客园 Display data from multiple sources in a single Data View(转office.Microsoft) Sharepoint备用连接 浅谈Silverlight2.0 beta1(5)DataGrid@Silverlight (一) 浅谈Silverlight2.0 beta1(4) Silverlight Deep Zoom 浅谈Silverlight2.0 beta1(3) Silverlight中的UserControl与CustomControl 浅谈Silverlight2.0 beta1(2) 控件属性中的Style与DataTemplate Silverlight中的DOM Access——使用Window.Eval()(翻译) Silverlight2.0中的计时器类DispatcherTimer——不再使用Storyboard计时器
利用DelegateControl包装自定义的用户控件(转)
一瞬间 · 2008-07-10 · via 博客园 - 一瞬间

用户定制Sharepoint网站,在网站外观上可以用Sharepoint Designer进行定制外,在网站的功能定制上最终又落实到编写一个个自定义的实现不同功能的Webpart上来了。
      用户编写WebPart可以通过两种方式来进行:
      一、可以用真正的纯代码方式来进行,即创建的WebPart类需要继承于System.Web.UI.WebControls.WebParts.WebPart类来进行,在这一过程中用户需要自己编写代码来创建Webpart的用户界面及所需的功能,然后部署到相应的网站上即可。
     二、编写用户控件(UserControl),然后用“用户控件包装器”把自定义编写的的UserControl进行包装成Webpart,最后部署到相应的网站上,用“用户控件包装器”来对自定义的用户控件进行包装成WebPart也有两种常用的方式,如下:
        1、用家喻户晓的涂老大所创建的“QuickPart”用户控件包装器进行将用户控件包装成WebPart,这个包装过程大家应该非常熟悉了,在此就不多介绍了,今天介绍的重点的时第二种包装方式。
        2、这种包装方式,就是利用SharePoint本身自带的用户控件包装器(DelegateControl),Moss2007平台本身也大量引用这种方式来包装用户控件(MOSS2007自带的用户控件目录在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES)下,我们也可以将编写好的自定义的用户控件拷到这个目录下,然后部署,接下介绍具体操作过程:
         (1)、打开VS2005, 新建-->网站(新建一个网站)。
         (2)、右击选择新建的网站,选择“添加新项”-->用户控件
         (3)、打开创建的用户控件,为了等下部署用户控件的方便,我就把用户控件的功能代码与用户控件的UI代码编写在一起,这个用户控件根据需要编写自定义的功能,在完成之后,把这个用户控件拷到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES这个目录下。
         (4)、在创建完用户控件到,接下来再到C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES目录下创建一个目录在此目录中创建文件为Feature.xml的文件(必需)如:
   <?xml version="1.0" encoding="utf-8" ?>
<Feature Id="My GUID"
   Title="My Feature Title"
   Scope="Farm"
   Description="My Feature Description"
   Version="1.0.0.0"
   xmlns="http://schemas.microsoft.com/sharepoint/"
   >
    <ElementManifests>
     <ElementManifest Location="MyFeature.xml"/>
    </ElementManifests> 

 
</Feature>
Feature.xml文件中的属性描述如下:
    Id:表示Feature的ID号为GUID类型,可以用VS里自带的“创建GUID”工具来创建
    Title:表示在安装Feature后在指定的网站的功能列表中的显示标题
    Scope:为这个Feature的作用范围,是个枚举值Farm,Site,Web
    Description:表示在安装Feature后在指定的网站的功能列表中Feature的描述信息
    Version:Feature的版本号
    xmlns:表示这个Feature的XML文件所处的命名空间
    Location:表示这个Feature的真正实现功能的xml

接下创建在Feature.xml功能描述文件中所提及到的用于真正实现这个Featur功能的另一个xml文件MyFeature.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
 <Control Id ="My Control ID"
    ControlSrc ="~/_CONTROLTEMPLATES/TSystemHotLinks/My User Control.ascx"
    Sequence ="100">
 </Control>
</Elements>


属性描述:
Control Id:表示用户控件的在Sharepoint网站的ID号
ControlSrc:表示用户控件所在磁盘下的相对存放位置

创建Feature后,下一步就是安装这个Feature,打开cmd窗体,然后输入如下命令进行安装:
stsadm -o installfeature -filename 自定义的Feature存放目录\Feature.xml
安装成功后,最后用Sharepoint Designer打开指定的网站,然后打开指定的网页或masterpage,在指定位置加上

<SharePoint:DelegateControl runat="server" ControlId="My Control ID"/>

后保存修改设置,浏览网站即可