choral's blog

Tech-on-Office

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

不说废话了,首先,我参考了Muller的这篇文章:
http://blogs.tamtam.nl/mart/CommentView,guid,a34071a0-ad27-44c7-aa78-3f956d6f920e.aspx

做法也基本照抄:
1、打开VS2005,新建工程(Class Library)
2、引用System.Web,Microsoft.SharePoint.dll,并将当前开发的类继承自:System.Web.UI.WebControls.WebParts.WebPart
3、重载Render函数:protected override void Render(HtmlTextWriter writer)
4、在Render中加入自己的代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint;

namespace NewWebPart
{
    
public class ChoralPart : System.Web.UI.WebControls.WebParts.WebPart
    
{
        
protected override void Render(HtmlTextWriter writer)
        
{
            writer.Write(
"Hello, world!<br>");
            SPWeb web 
= SPControl.GetContextWeb(Context);
            writer.Write(
"You're visiting the site: " + web.Title);
        }

    }

}

可以看出来,获取当前网站等操作仍然延续从前的方法。

5、使用强命名编译(在工程属性中选择“signing”,新建key)
6、将此dll拖到GAC的目录中:c:\windows\assemblies
7、在Web.Config里加入此WebPart的注册信息:
例如:<SafeControl Assembly="NewWebPart, Version=1.0.0.1, Culture=neutral, PublicKeyToken=785180fe41b26686" Namespace="NewWebPart" TypeName="*" Safe="True" />
:我的环境下这个web.config位置(即IIS上WSS3的虚拟目录)为:
C:\Inetpub\wwwroot\wss\VirtualDirectories\3eb911e5-7223-4f5a-b1cf-46d53ee65b52
不知道是测试版的原因还是什么?也可能是因为我安装的时候旧的WSS没有卸载。
8、在网站集管理页面中,选择Galleries的Web Parts
9、点击“New”
10、选中自己的webpart,点击Populate Gallery,此webpart就可以在网站上使用了。
11、将此webpart添加到首页:


另外,我尝试了将此WebPart部署到Bin目录里,也修改了web.config的trust level,重启了IIS,但始终报AllowPartiallyTrustedCallersAttribute的错误。
posted on 2006-05-19 23:12  choral  阅读(1917)  评论(3编辑  收藏  举报