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

Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第1张图片 


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

<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 />  
 

 结果如下图

Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第2张图片


 
二、创建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。

如下图:


Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第3张图片 

 

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

 

Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第4张图片 

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 > 


Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第5张图片 
三、把jQuery Script文件部署到Sharepoint的Layouts目录
我们虽然在前面的用户自定义控件中引用到了jQuery文件,但此文件还并不存在,所以我们需要在Sharepoint中添加它。
 右击你的项目,选择添加 SharePoint “Layouts” Mapped Fold

Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第6张图片er.
 

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

Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery_第8张图片

你可能感兴趣的:(SharePoint)