Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery

   我们可能会产生这样的需求,如何在Sharepoint Page中加入jQuery。我们知道,Sharepoint所有的"开箱即用"的主页(如:v4.master, default.master, minimal.master, and nightandday.master)中都包含有如下的HTML标识

   < SharePoint:DelegateControl  runat ="server"  
          ControlId
="AdditionalPageHead"  
          AllowMultipleControls
="true" /> 

   此标识一般位于这些主页下定义代码的头部位置。
   从代码可以看出,它属于Delegate Control,Sharepoint的Delegate Control向用户提供了一个框架,此框架告知ASP.NET去寻找那些注册了的Delegate Controls,并在调用这些Delegate Controls的LoadControl方法时,加载你自己编写的用户自定义控件。 而上面提到的那AdditionalPageHead就是一个Delegate Control,它可以被用来引用我们的Script。
下面讲述我们的操作步骤。
一、创建用户控件
 创建一个Farm级别的新项目。 在此项目中,添加一个新Item (Add New Item),此新Item是一个用户自定义控件,我们命名为jQueryControl.ascx

 


在此控件的定义代码中加入

<script type="text/javascript"
    src
="/_layouts/SPJquery/jquery-1.5.2.min.js"/>
或 //因为前者可能会让Sharepoint产生ScriptResource.axd的Object Required错误,遇到此报错,把此段申明改成下面这段表达形式就行了
< script  type ="text/javascript"  
    src
="/_layouts/SPJquery/jquery-1.5.2.min.js"><script />  
 

 结果如下图


 
二、创建Feature
 创建Feature的目的是用来把我们上面开发的用户自定义控件注册为Delegate Control。
 所以,在上面的项目中新添加一个Feature,把此Feature的Scope设置为Web,并添加对此Feature的标题(Title)和描述(Description)。Scrope设为Web就意味着此Website的所有Page都会加载此Feature注册的jQuery。如果高为Site,就意味着此网站所在的网站集的所有Page都会加载你的Feature注册的jQuery,而设为Farm就意味着整个Farm的所有Page都会加载你的Feature注册的jQuery,设置为WebApplication则意味着所有使用此WebApplication的Pages都会加载你的Feature注册的jQuery。

如下图:


 

 

然后再添加一个新的 “Empty Element”,命名为“jQueryElement”. 

 

 

Elements.xml的代码如下

  <? xml version="1.0" encoding="utf-8" ?>
< Elements  xmlns ="http://schemas.microsoft.com/sharepoint/" >  
   < Control  Id ="AdditionalPageHead"  
           Sequence
="90"              
           ControlSrc
="~/_CONTROLTEMPLATES/SPJQuery/jQueryControl.ascx"   />
</ Elements > 


 
三、把jQuery Script文件部署到Sharepoint的Layouts目录
我们虽然在前面的用户自定义控件中引用到了jQuery文件,但此文件还并不存在,所以我们需要在Sharepoint中添加它。
 右击你的项目,选择添加 SharePoint “Layouts” Mapped Fold

er.
 

 在此Folder中,添加jQuery javascript文件,结果如图 
 
 四、测试结果
 在 Visual Studio 2010中使用F5来部署和开始调试你的Project,调试器(debugger)会自动附加到Sharepoint页面上,并且你会看到调试器中加载的Scripts,在里面你会看到你想加载的jQuery.js

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值