1. 创建一个简单的webpart
在vs2008中建立一个class,该class在添加引用中引用一个System.web,然后再引用个System.Web.UI.WebControls.WebParts的命名空间,该类需要继承一个该命名空间下的webpart类,

 

MOSS关于Webpartusing System;
MOSS关于Webpart
using System.Collections.Generic;
MOSS关于Webpart
using System.Linq;
MOSS关于Webpart
using System.Text;
MOSS关于Webpart
using System.Web.UI.WebControls.WebParts;
MOSS关于Webpart
MOSS关于Webpart
namespace Liang.WebParts.Test1
}

任意输出一句话,将该class编译成dll文件,将编译好的该dll放入系统盘sharepoint的路径  Inetpub\wwwroot\wss\VirtualDirectories\9998,9998为你创建sharepoint网站时的端口,找到你自己端口号下的web.config文件,在类似
<SafeControl Assembly="liang.event.test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="liang.eventclass.test" TypeName="eventclass" Safe="True"/>
的设置中加入上面一段代码,Assembly里填写为dll名称,Version=1.0.0.0, Culture=neutral几乎固定不变,PublicKeyToken为当前dll加密的key,目前发现可以不加密使用,Namespace为dll的命名空间名,TypeName为类名,Safe="True"为固定值。
注意:(根据别人的案例,当完成Webpart class方面后,为当前的Webpart创建了一个强名称,同时,在添加sharepoint中webconfig文件之前,需要借助于第三方软件,如reflector等反编译软件,对生成的webpart的dll进行解析,同时会产生对应的PublicKeyToken值,包括Assembly中所有信息,必须完全填写正确,否则后面基于sharepoint的操作将无法继续)
 这样vs2008方面操作基本完成,将生成的dll文件copy到与上面提到的sharepoint下web.config同级目录下的_app_bin文件夹中。
 在sharepoint主页的site actions下的site settings中的Modify all site setting 转到 Site setting 页面,点击Galleries列表下的Web parts,在这个页面中新建,你将能找到你之前所加的自己写的web part的名字,将你自己加的web part选中,然后Populate Gallery,你的web part就已经加入到你自己的share point里了,返回你的首页,在set actions里第一项,编辑你的页面,点击Add a Web Part,选中你自己的web part类名,add后,一个简单的webpart就添加完成!
     2.带事件的webpart以及变相使用
方法一:由于你个整个webpart类要和sharepoint整合起来,在编写带事件的webpart类时,还需继承一个IPostBackEventHandler(服务器事件类),带事件一般就带有控件,就还需要引用更多的web下的命名空间。

 

MOSS关于Webpartusing System;
MOSS关于Webpart
using System.Collections.Generic;
MOSS关于Webpart
using System.Linq;
MOSS关于Webpart
using System.Text;
MOSS关于Webpart
using System.Web.UI.WebControls.WebParts;
MOSS关于Webpart
using System.Collections;
MOSS关于Webpart
using System.Web.UI;
MOSS关于Webpart
using System.Web.UI.HtmlControls;
MOSS关于Webpart
using liang.webparts.demo;
MOSS关于Webpart
using System.Web.UI.WebControls;
MOSS关于Webpart
MOSS关于Webpart
namespace liang.eventclass.test
}

同时,在webpart类中,还能画表格,随意添加控件,这些经过测试都是可以的,如果想要在一个页面中加载2个webpart,并且让2个webpart相互关联,这需要带事件的webpart引用另一个webpart,该webpart用来显示你所选中的list,参考上面的webpart显示,当然,2个webpart都需要像上面所讲的添加到sharepoint服务上,这样,在webpart上能实现很多功能!


方法二:在同一个项目中创建2个以及更多的相关联的webpart。以2个webpart为例,编写你所需要的相互关联事件,显示的控件,同时添加一个相互交互的类库,该类库创建对象,用于2个webpart传递数据。Demo为输入webpart1 输入string 提交,在webpart2中显示出来,所以webpart1 中提交方法需要加上ConnectionProviderAttribute的属性修饰,为以后sharepoint添加webpart之间关联使用。下面Code分在三个类中编写:

 

MOSS关于Webpart//显示控件
MOSS关于Webpart
using System;
MOSS关于Webpart
using System.Collections.Generic;
MOSS关于Webpart
using System.Linq;
MOSS关于Webpart
using System.Text;
MOSS关于Webpart
using System.Web.UI.WebControls.WebParts;
MOSS关于Webpart
using System.Web.UI.WebControls;
MOSS关于Webpart
using System.Web.UI;
MOSS关于Webpart
using System.Web;
MOSS关于Webpart
MOSS关于Webpart
namespace liang.mywebpart
}

 

MOSS关于Webpart//接口
MOSS关于Webpart
using System;
MOSS关于Webpart
using System.Collections.Generic;
MOSS关于Webpart
using System.Linq;
MOSS关于Webpart
using System.Text;
MOSS关于Webpart
using System.Web.Security;
MOSS关于Webpart
using System.Web.UI.WebControls.WebParts;
MOSS关于Webpart
using System.Web.UI.WebControls;
MOSS关于Webpart
using System.Web.UI;
MOSS关于Webpart
using System.Web;
MOSS关于Webpart
MOSS关于Webpart
namespace liang.mywebpart
}


 

MOSS关于Webpart//数据交互
MOSS关于Webpart
using System;
MOSS关于Webpart
using System.Collections.Generic;
MOSS关于Webpart
using System.Linq;
MOSS关于Webpart
using System.Text;
MOSS关于Webpart
using System.Web.UI.WebControls.WebParts;
MOSS关于Webpart
using System.Web.UI.WebControls;
MOSS关于Webpart
using System.Web.UI;
MOSS关于Webpart
using System.Web;
MOSS关于Webpart
using System.Web.UI.HtmlControls;
MOSS关于Webpart
MOSS关于Webpart
namespace liang.mywebpart
}

 

同理,webpart2 显示方法也需要加上ConnectionConsumerAttribute的属性修饰。完成编译后,以上述方法加载到sharepoint中,将带事件的webpart点击编辑,选择连接,选择webpart2中ConnectionConsumerAttribute 所修饰的连接,完成该webpart的编写。效果等同方法一。


方法一和方法二区别在于实现连接的方式不同,效果等同。目前而言,方法二更符合sharepoint的编程方式。
关于sharepoint的自定义webpart:在webpart上预设好接收的对象属性,以及属性修饰,当加载webpart到sharepoint中后,编辑里选择 修改共享webpart,找到你创建的属性修饰名称,输入后,你webpart将显示你输入的对应值。
  


相关文章:

  • 2022-02-10
  • 2021-08-02
  • 2022-12-23
  • 2021-07-19
  • 2022-02-07
  • 2022-12-23
  • 2022-01-30
  • 2021-06-06
猜你喜欢
  • 2021-07-19
  • 2022-01-06
  • 2022-02-04
  • 2021-07-18
相关资源
相似解决方案