在SharePoint 2010 母版页里添加自定义用户控件(译)
使用自定义用户控件的好处:
1.容易部署;2.易于控制显示或隐藏。
(在使用的过程中)可能要面对的问题是:如何在用户控件里使用Sharepoint 服务器对象模型?可以通过下面代码来实现:
using (SPSite site = new SPSite(Request.Url.ToString())) { using (SPWeb web = site.OpenWeb()) { // Your Code Here! } }
(应该不需要这样,只有你的控件放到sharepoint服务器里,比如webcontrol,Application页,都可以直接使用SPContext来访问。当然上面的方法可以在任何地方访问sharepoint服务器对象,不管是不是在sharepoint服务器中。)
下面是步骤:
1.创建一个空SharePoint 项目
(项目名叫:MasterPageControl,如果你不用这个名字,注意更改下面在母版页注册用户控件时ascx的路径)
(虽然原作者使用的是.NET Framework4,不过我还是建议使用3.5,因为sharepoint 2010就是基于3.5的)
2.添加一个用户控件 (右击项目名,选择添加--新建项,找到User Control)
3.部署项目
(右击项目名,选择部署即可)
4.添加控件到母版页。
1),首先添加下面代码注册用户控件。
<%@ Register TagPrefix=”myControl” TagName=”CurrentPageControl” Src=”~/_controltemplates/MasterPageControl/CurrentPageControl.ascx” %>
2),然后再需要的地方使用下面代码添加用户控件即可。
<myControl:CurrentPageControl ID=”myControl” runat=”server” />