zoukankan      html  css  js  c++  java
  • 为sharepoint的内部页面添加后台代码

    我们知道,存储在数据库里的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事件来实现向页面的控件绑定数据。
    有兴趣的朋友可以尝试一下,能满足我们很多的需求。

  • 相关阅读:
    POJ3094 UVALive3594 HDU2734 ZOJ2812 Quicksum【进制】
    UVALive5583 UVA562 Dividing coins
    POJ1979 HDU1312 Red and Black【DFS】
    POJ1979 HDU1312 Red and Black【DFS】
    POJ2386 Lake Counting【DFS】
    POJ2386 Lake Counting【DFS】
    HDU4394 Digital Square
    HDU4394 Digital Square
    UVA213 UVALive5152 Message Decoding
    UVA213 UVALive5152 Message Decoding
  • 原文地址:https://www.cnblogs.com/majiang/p/3849589.html
Copyright © 2011-2022 走看看