ponh 发表于 2015-9-30 07:15:33

利用SharePoint:DelegateControl部署自定义UserControl

需求:

    有个wss的项目, 里面新建乐许多的site, 然后配置了Quick Launch, 最后发现点击了那些链接后无法显示出不同的颜色, 或者需要highlight那些链接, 其实如果在port site里面只要修改css就可以了, 麻烦.

分析:

   经讨论, 重新写一个UserControl放在左边, 链接就由代码控制了.

步骤:
1.新建一个UserControl , 只要用来显示SPNavigation; 我的文件名是: LeftNavigation.ascx

2.一般默认的许多UserControl都是放在目录: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES; 我在该目录下面新建了一个文件夹: NewBizDevLeftNavigation, 然后把那个UserControl放在该目录下面.

3. 利用Feature功能发布UserControl :
Feature.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="5fe11280-005c-11dd-95ff-0800200c9a66"
         Title="DelegateControlLeftNavigation"
         Scope="Farm"
         Description="DelegateControl LeftNavigation"
         Version="1.0.0.0"
         xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
    <ElementManifest Location="Control.xml" />
</ElementManifests>
</Feature>
Control.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control Id="NewBizDevLeftNavigation"
         ControlSrc="~/_ControlTemplates/NewBizDevLeftNavigation/LeftNavigation.ascx"
         Sequence="100">   
</Control>
</Elements>

4. 利用stsadm命令安装Feature.

5. 利用SPD, 把该UserControl添加到master page中:

                <div id="customLeftNavigation">
                  <SharePoint:DelegateControl ControlId="NewBizDevLeftNavigation" EnableViewState="true" runat="server" Visible="true"></SharePoint:DelegateControl>
                </div>

6. 基本上大功告成了, 然后有多少个site就复制,粘贴多少次了, 理解wss的痛苦了.

7. 效果:


8. 相关文件下载
页: [1]
查看完整版本: 利用SharePoint:DelegateControl部署自定义UserControl