我们知道,存储在数据库里的SharePoint页面是不能直接添加后台代码的,这给我们带来了很多的不方便,比如想要在页面上实现一些东西,都必 须使用Webpart或者自定义控件的方式,哪怕仅仅是很简单的几行后台代码。而WSS 3.0 是基于ASP.NET 2.0的,在ASP.NET站点里使用的任何技术在WSS站点里同样可以使用。因此我们同样可以给WSS站点的页面添加后台代码。

存储在数据库中的sharepoint页面分为两部门,母板页和内容页,我们可以为这两种页面分别添加后台代码。实现方式不一样,若为内容页添加后 台代码,我们需要继承自WebPartPage类,若为母板页添加后台代码,我们需要继承自System.Web.UI.MasterPage类,你应该 将后台代码类与对应页面设置成相同的名字,但这不是必须的。
     这样我们就可以为页面上的控件添加相应的后台代码。比方说我们的页面上有一个按钮和一个文本框,ID分别为textbox1和button1,并为button添加一个ckick事件,当点击按钮时,将当前时间写入文本框中,可以这么来写:
public class CustCode : WebPartPage
{
protected global::System.Web.UI.WebControls.TextBox txt1;
protected global::System.Web.UI.WebControls.Button btn1;
protected global::Microsoft.SharePoint.WebControls.PeopleEditor pe1;
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
btn1.Click += new EventHandler(btn1_Click);
}

void btn1_Click(object sender, EventArgs e)
{
txt1.Text = pe1.CommaSeparatedAccounts;

}

}
  
在MOSS的页面上,服务器控件分为ASP控件(命名空间System.Web.UI.WebControls)和sharepoint控件(命名空间是
Microsoft.SharePoint.WebControls),我们同样可以声明sharepoint控件并为它们添加相应的操作。
写好我们的后台代码后,将代码生成到对应的bin目录下(或者GAC,记得强命名),在web.config文件中添加一行,

<SafeControl Assembly="SharePointDemo, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=745ac6ac419049e8"
Namespace="SharePointDemo" TypeName="*" Safe="True" />

,其中assembly和namespace可以通过reflector获得,然后我们还需要在页面上重写页:
<%@ Page Language="C#" MasterPageFile="~masterurl/default.master"
Inherits="SharePointDemo.CustCode,SharePointDemo, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=745ac6ac419049e8" %>
如果是母板页,这样添加
<%@ Master language="C#" Inherits="
MossCodeBehind.CodeBehind,MossCodeBehind, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null" %>

不过重写了之后,就不能在设计窗口中打开页面了。

通过这种方式,开发者就可以在像ASP.NET中一样做开发,例如我们可以重写onload事件来实现向页面的控件绑定数据。
有兴趣的朋友可以尝试一下,能满足我们很多的需求。

为sharepoint的内部页面添加后台代码的更多相关文章

  1. 向SharePoint页面添加后台代码

    转:http://www.cnblogs.com/chenzehe/archive/2009/12/25/1631863.html 在本文中,我将跟大家一起讨论,为MOSS的页面添加服务器端代码的另一 ...

  2. 步步为营-73-asp.net的简单练习(根据美工提供静态页面,编写后台代码)

    说明:实际企业中开发分工是很明确,往往程序员根据美工提供的UI界面进行后台代码的编写. 1.1 原始HTML页面 1.2 使用aspx进行修改 这里使用到了三层架构 using System; usi ...

  3. SpringBoot2.0之七 实现页面和后台代码的热部署

    开发过程中我可能经常会因为修改一点点代码就需要重启项目而烦恼,这样不仅很繁琐,还会因为不断重启浪费大量的时间,无法提高工作效率.可是现在SpringBoot为我们提供了非常简单的方式让我们实现热部署. ...

  4. SharePoint 页面中添加.Net代码

    今天整理资料,看到一个非常有意思的截图,可以在SharePoint页面库里的页面中,添加.Net代码,只需修改一下相应应用程序的web.config文件,即可: 在web.config里面的<P ...

  5. sharepoint 2010 页面添加footer方法 custom footer for sharepoint 2010 master page

    转:http://blog.csdn.net/chenxinxian/article/details/8720893 在sharepoint 2010的页面中,我们发现,没有页尾,如果我们需要给页面添 ...

  6. ecshop 添加后台页面以及设置权限

    转自 http://blog.csdn.net/tgh1981/article/details/10394059 ecshop 添加新页面 给ecshop后台增加管理功能页面 比如我们增加一个统计报表 ...

  7. html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感)

    html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感) 效果图: 运行原理和技术: 当页面加载完毕,利用jquery向后台发送ajax请求,去后台拼接<select>&l ...

  8. asp.net 点击按钮,页面没有任何变化,后台代码不触发

    asp.net 点击按钮,页面没有任何变化,后台代码不触发 和可能是 asp.net button  缺少validationGroup 导致的,需要查看页面的validation并且让他们抛出错误信 ...

  9. 如何利用 _ViewStart.cshtml对页面添加代码?

    _ViewStart.cshtml 添加的代码会出现在页面的最上面(<html> 之前) .这样就造成了我原先很多页面出现兼容性问题(经难是因为<html>之前出现了其它的代码 ...

随机推荐

  1. C/C++ 和 PHP 技术经典图书,学习视频资料总结

    技术经典图书 1.<计算机科学导论> 作者:(美)佛罗赞,(美)莫沙拉夫著,刘艺等译(强推) 涵盖了大部分计算机课程的内容,但都是简介,是最基础的知识,非常适合计算机初学者看,强烈建议把课 ...

  2. CTSC被虐记

    退役前写写破事乐呵乐呵..(雾 Day0 愉快的没有分到另一个宾馆...但是是个单间...而且居然是大床房...难以置信, 试机向BeiYe学习了一发Gedit的外部工具, 试到一般好像都走了..只剩 ...

  3. canvas知识点积累

    fillRect(x,y,width,height) 填充一个矩形区域,绘制已填色的矩形,默认填充颜色为黑色.x:矩形左上横坐标,y:矩形左上纵坐标,width:矩形宽度,height:矩形高度. s ...

  4. Graph database_neo4j 底层存储结构分析(2)

    3       neo4j存储结构 neo4j 中,主要有4类节点,属性,关系等文件是以数组作为核心存储结构:同时对节点,属性,关系等类型的每个数据项都会分配一个唯一的ID,在存储时以该ID 为数组的 ...

  5. HDU 4436 str2int (后缀自动机SAM,多串建立)

    str2int Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  6. Android app开发中用户协议(使用条款)文字自己主动换行

    用户协议(使用条款)文字自己主动换行处理 转载请注明出处:http://blog.csdn.net/u012301841/article/details/46648821 我们在开发app的时候.常常 ...

  7. STM32学习日志--使用DMA功能自动更新PWM的输出

    /******************************************************************************* 编译环境: EWARM V5.30 硬 ...

  8. Processing an OS Descriptor request -- Remote Desktop Protocol

    Special processing on the client is needed when processing TS_URB_OS_FEATURE_DESCRIPTOR_REQUEST. The ...

  9. golang 引用相对路径package

    My $GOPATH is "/Users/peter/goworkspace" Golang 版本是: go version go1.6 darwin/amd64 在这个work ...

  10. C# MD5 32位加密 UTF-8编码

    项目开发过程中需要用到MD5加密,最开始的使用使用加密方法: public static string GetMD5(string str)        {            byte[] b ...