在做Sharepoint门户网站定制时候,可以利用VS集成开发工具编写自定义功能的WebPart或利用VS在可视化环境下开发UserControl然后利用QuickPart用户控件包装器来将UserControl包装为WebPart,以这种方式来对Sharepoint门户网站的内容进行灵活定制。也可以利Sharepoint Designer 2007对Sharepoint 网站的页面外观进行定制或添加自定义的Page等,在对新添加的Page的布局设计完后有时因为功能的需要,要在Page里添加自定义的.net 托管代码,由于Sharepoint页面在默认情况是不支持的页面的托管代码处理的,所以需要些必要手动配置后才行。
接下,将介绍如何在自定义的Sharepoint页面里添加.net 托管代码,例如要给页面添加Page_Load事件处理程序,可按如下步骤进行:
1、打开创建的Sharepoint页面所在的目录网站的目录,并打开Web.config文件
2、找到名为PageParserPaths的元素节点,并添加如下子节点
<PageParserPath VirtualPath="/Pages/FormCode.aspx(创建的新页面)" CompilationMode="Always" AllowServerSideScript="true" />
保存Web.config文件
属性说明:
a、VirtualPath :表示要站点分析处理的自定义页面的URL
b、CompilationMode :表示站点对自定义页面里的.net 托管代码以何种方式进行编译
c、AllowServerSideScript :表示自定义页面支持服务器端执行的脚本
3、利用Sharepoint Designer 2007打开新创建的页面,并在<head></head>标记间添加页面加载时需要的事件处理程序,代码如下:
<script runat="server" type="C#">
protected void Page_Load(object sender, EventArgs e)
{
string loginName = SPContext.Current.Web.CurrentUser.LoginName; //获取当前登录网站的用户名
string webUrl = SPContext.Current.Web.Url; //获取当前访问网站的Url
}
</script>
代码说明:
在页面中添加服务器端处理的事件处理程序时,必须写在<script runat="server" type="C#"></script>标记中,且type属性值需根据添加的事件托管代码的编程语言如C#决定。