sharepoint 自定义服务器代码的页面(一)

大概2年前刚刚接触sharepoint开发的时候,由于不熟悉,总想套用asp.net的页面开发,
现在总结一下如何自定义sharepoint页面开发。
首先明确sharepoint的页面类型(参照msdn)
1 母板页,就是决定整个site风格的页面,默认情况下是这个文件
C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/GLOBAL/default.master
2 应用程序页/_layout页,这些页面时存在IIS虚拟目录中的,也就是说物理存在的,默认情况下存在于
C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/LAYOUTS文件夹下,
通常我们不会改动这些页面,他们不能添加web部件。
3 内容页面, 指的就是通常可以承载webpart的页面,这种页面可以用sharepoint designer修改和查看,
默认没有被spd修改,分成2个部分存储,一部分在前端的web服务器,另一部分在sharepoint内容数据库中,
用spd修改后,就存储在sharepoint数据库中,区别我就不说了。
明确了3种类型后,就可以开发了。
(1) 用spd开发含有代码的内容页面,在spd中创建一个页面,并且加入如下代码
<script type="text/c#" runat="server">
protected void Page_Load(object sender, EventArgs e)
{
 this.Response.Write("Hello World!");
}
</script> 
右键在浏览器中预览,会出现异常

这是因为sharepoint做了安全限制,默认是不允许添加后台代码的。
但是我们可以通过修改webconfig文件,让它正常运行。
<PageParserPaths>
 <PageParserPath VirtualPath="/Dalian/custompage1.aspx" CompilationMode="Always" AllowServerSideScript="true" />
</PageParserPaths>

 


虽然通过这种方法我们可以写入服务器端代码,但是不推荐这样做
原因是这样相当于变相的提升了某些用户的权限,只要可以通过spd
访问这个页面,就可以编写服务器代码了,安全性降低了。
(2)自定义应用程序页面,这种页面和我们平时开发的asp.net页面,这种页面可以部署
在LAYOUTS文件夹或者虚拟目录下(我没有试过),我喜欢用Feature来部署。
第一步 创建一个asp.net工程,会得到一个aspx文件和一个dll文件(不用codebehind就不用dll了)
添加个简单的代码
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Response.Write("Hello World!");
        }
第二步 部署,创建一个Feature, 一个文件夹“CusPage”在...12/TEMPLATE/FEATURES/下并且包含2个xml文件
    Feature.xml如下:
 <Feature
 Id="274FC071-C858-4cd2-A602-61D2275A9139"
 Title="Customize Page"
 Description="Customize Page ..."
 Scope="Web"
 Hidden="FALSE"
 xmlns="http://schemas.microsoft.com/sharepoint/" >
 <ElementManifests >
  <ElementManifest Location="Elements.xml"/>
 </ElementManifests>
 </Feature>
    Elements.xml如下:
 <Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
 <Module Name="CustomizePage" >
  <File Url ="CustomPage1.aspx" Type="Ghostable" IgnoreIfAlreadyExists ="TRUE"  />
 </Module>
</Elements>
把第一步中的aspx文件也放到这个目录下, 把dll文件放到对应sharepoint网站的bin目录下
打开命令行执行

在网站设定中,启用这个feature

 

结果


这样就OK了,并且打开spd会看到这个页面, 但是看到页面我们就会意识到问题了,这个页面和我们sharepoint页面
风格不一致,而且我们可能还要使用webpart在这个页面,这两个问题时可以解决的,
会在下回的文章中写如何解决他们。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值