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

存储在数据库中的sharepoint页面分为两部门,母板页和内容页,我们可以为这两种页面分别添加后台代码。实现方式不一样,若为内容页添加后台代码,我们需要继承自Microsoft.SharePoint.Publishing.PublishingLayoutPage类,若为母板页添加后台代码,我们需要继承自System.Web.UI.MasterPage类,你应该将后台代码类与对应页面设置成相同的名字,但这不是必须的。如下所示:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint.WebControls;
namespace AA{
public class AAClass: PublishingLayoutPage {
}
}
     这样我们就可以为页面上的控件添加相应的后台代码。比方说我们的页面上有一个按钮和一个文本框,ID分别为textbox1和button1,并为button添加一个ckick事件,当点击按钮时,将当前时间写入文本框中,可以这么来写:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint.WebControls;
namespace AA
{
public class AAClass: PublishingLayoutPage
 {
   protected TextBox textbox1;
        protected Button button1;
   protected override void OnInit(EventArgs e)
      {
            base.OnInit(e);
            button1.Click += new EventHandler(button1_Click);
        }
}
void button1_Click(object sender, EventArgs e)
{
     textbox1.Text = DateTime.Now.ToString();
}
}
   在MOSS的页面上,服务器控件分为ASP控件(命名空间System.Web.UI.WebControls)和sharepoint控件(命名空间是Microsoft.SharePoint.WebControls),我们同样可以声明sharepoint控件并为它们添加相应的操作。
写好我们的后台代码后,将代码生成到对应的bin目录下(或者GAC,记得强命名),在web.config文件中添加一行,<SafeControl Assembly="" Namespace="" TypeName="*" Safe="True" />,其中assembly和namespace可以通过reflector获得,然后我们还需要在页面上重写页:
<%@ Page meta:progid="SharePoint.WebPartPages.Document" Language="C#" Inherits="MossCodeBehind.CodeBehind,MossCodeBehind, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" %>
如果是母板页,这样添加
<%@ Master language="C#" Inherits=" MossCodeBehind.CodeBehind,MossCodeBehind, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" %>

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

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

转载于:https://www.cnblogs.com/wanghao-3/archive/2008/09/11/1289464.html

sharepoint页面添加后台代码相关推荐

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

    声明:本文转载 在本文中,我将跟大家一起讨论,为MOSS的页面添加服务器端代码的另一种方式.不过首先要声明,这种方式仅作为技术研究,如要使用,请慎重! 在上一篇文章中,我们讨论过如何为MOSS页面添加 ...

  2. 登录、注册页面及后台代码

    一.登录页面及后台代码 1.登录页面如图1所示 首先进行身份选择,由"管理员"和"用户"两种身份进行选择,选择不同的身份,程序会进入不同的数据表检索登录信息:当 ...

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

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

  4. 页面添加复制代码功能

    简单的"复制代码" 功能 <a href="javascript:" οnclick="CopyCode(document.getElement ...

  5. .net 中,runat=server和页面运行后台指令的冲突现象

    嗯.....一个小小的需要注意的地方 在.net开发中,我们经常使用runat=server,来定义一些控件,来通过后台代码进行这些控件的管理,比如 <asp:Panel>啦,<as ...

  6. Sharepoint页面里添加.net托管代码

    Sharepoint页面里添加.net托管代码 在做Sharepoint门户网站定制时候,可以利用VS集成开发工具编写自定义功能的WebPart或利用VS在可视化环境下开发UserControl然后利 ...

  7. ecshop后台首页mysql_ecshop 添加后台页面以及设置权限

    ecshop 添加新页面 给ecshop后台增加管理功能页面 比如我们增加一个统计报表叫做 物流费用统计报表 放在后台"报表统计"栏目中 具体操作步骤: 第一步,我们要添加一个菜单 ...

  8. wp/wordpress文章页面添加阅读量/点击量,后台并显示阅读量

    我们知道wp主题默认的是不带阅读量这个字段的,所以要想在前端文章页面显示阅读量以及后台文章列表显示阅读量,就需要我们修改functions.php这个文件,接下来分享一下我整理的wp添加阅读量的代码. ...

  9. vue 给页面添加enter回车事件 - 代码篇

    vue 如何给页面添加enter回车事件? 主要代码: @keyup.enter.native="ajaxLoginApi()" 代码示例: <el-form ref=&qu ...

  10. Sharepoint学习笔记—Delegate Control--在Sharepoint页面添加jQuery

    我们可能会产生这样的需求,如何在Sharepoint Page中加入jQuery.我们知道,Sharepoint所有的"开箱即用"的主页(如:v4.master, default. ...

最新文章

  1. Ubuntu创建opencv工程并显示一张图片
  2. linux lua ide,mac os上开发lua用什么ide
  3. 用户信号量及其PV操作处理实际问题
  4. ubuntu sever 命令行 使用 u盘
  5. OpenGL程序演示
  6. 红帽7破解ROOT密码(简单易懂)
  7. 将Android源码集成到Eclipse中的方法
  8. 2021-2025年中国电子液体处理系统行业市场供需与战略研究报告
  9. Java Switch语句及性能剖析(转载补充)
  10. java按年月季度统计折线图_拆线图按年、按月,按天统计,前端传时间只要起始时间与结束时间...
  11. 学习c语言的小程序,C语言小程序学习
  12. 微信小程序之自定义计时器
  13. 洛谷P4158 [SCOI2009]粉刷匠 题解
  14. github账户登录ArcGIS developer并申请API key
  15. U3d 代码修改图片的尺寸
  16. 爬虫:动态页面爬取Selenium
  17. 4 、python学习笔记第四课:对象、标识符、变量、赋值、常量
  18. python中怎么创建一个词典_如何在Python中创建字典词典
  19. 【网络工程师笔记】——防火墙配置
  20. OpenGL的矩阵变换详解——有图有真相

热门文章

  1. 谈如何边做事,边提高
  2. Lucene全文检索(一)
  3. 解题报告 『占卜DIY(模拟)』
  4. web移动端常见问题解决方案 (转)
  5. ADO.Net 数据库访问技术
  6. UVa10047 BFS
  7. 20100823工作记录
  8. Oracle版本区别[转载]
  9. 在线数据库链接字符串查询
  10. PHP curl 请求不到数据 errno 52 ,empty replay form service