SHAREPOINT PORTAL2003 WEBPART开发入门

示例WEBPART开发部署指南

一、WEBPART开发
       1
、在SHAREPOINT上生成一个ASPX网页,里面可以只有HTML代码,但是必须注明哪一段是用来方置WEBPART的。新建一个文件,文件名为test4.aspx示例ASPX网页代码如下:

<!-- _lcid="1033" _version="11.0.5510" _dal="1" -->

<!-- _LocalBinding -->

<html dir="ltr" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">

 

<title>EPMS Demo</title>

 

<head>

<meta name="WebPartPageExpansion" content="full">

<meta name="GENERATOR" content="Microsoft SharePoint" />

<meta name="ProgId" content="SharePoint.WebPartPage.Document" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="CollaborationServer" content="SharePoint Team Web Site" />

<meta http-equiv="Expires" content="0" />

<link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/ows.css" />

<link href="wpresources/aims/default.css" rel="stylesheet" type="text/css" />

<link type="text/xml" rel="alternate" href="_vti_bin/spdisco.aspx" />

<meta name="Microsoft Theme" content="none, default">

<meta name="Microsoft Border" content="none">

</head>

 

<body marginwidth="0" marginheight="0" scroll="yes">

 

<!-- WEBPART开始 -->

<table border="1" width="100%" id="table1">

       <tr>

              <td>&nbsp;</td>

       </tr>

</table>

 

<!-- WEBPART结束 -->

 

</body>

 

</html>

 

备注:该代码是通过用FRONTPAGE2003打开一个SHAREPOINT PORTAL网站后手工添加编辑得来的(就是用FRONTPAGE2003打开SHAREPOINT站点,然后在PORTAL上添加一个ASPX网页后,再编辑一下。完全可以用这段代码生成一个ASPX网页)。

       2、将“<!-- WEBPART开始 -->”和“<!-- WEBPART结束 -->”中间的代码复制下来,这2个注释标记是表明这里要放置WEBPART的。在桌面上或者物理硬盘上的任意位置上手工新建一个TXT文本文件,然后将其更名为:“HelloWorld_InterFace.ascx”。

       3、从MICROSOFT网站下载WEBPART的开发SDK,下载连接为:WebPartTemplatesforVSNetSample.EXE(点击下载),从已经安装了SHAREPOINT PORTAL的服务器上复制这些文件(Microsoft.SharePoint.dllMicrosoft.SharePoint.Portal.Admin.Search.dllMicrosoft.SharePoint.Portal.dllMicrosoft.SharePoint.Portal.SingleSignon.dllMicrosoft.SharePoint.Portal.SingleSignon.Security.dllOWSSVR.DLLSHTML.DLLSSOCLI.DLL)到一个特定目录,比如:D:/SHAREPONT_DLL

       4、安装刚才下载的WEBPART SDK,安装前,建议将压缩包手工解压到一个目录中,然后双击SETUP.EXE来安装。安装时会要求你输入SHARPOINT DLL所存放的路径,可以输入刚才存放那些DLL的目录,如:D:/SHAREPONT_DLL。注意:在安装SDK前要把VS.NET关闭(开发时建议用VS.NET 2003)。

       5、打开VS.NET 2003新建一个C#代码的WebPartLibrary工程,项目名称为:DEMO.WEBPART。新建完毕后,能够看到CS代码文件中自动引入了SHAREPOINT声明,同时自动引用了SHAREPOINT DLL,如果没有,可以在新建项目前重启机器。

       6、把第2步中所建立的HelloWorld_InterFace.ascx文件添加进项目中。打开HelloWorld_InterFace.ascx,在页面上双击。会自动进入后置代码文件,然后在Page_Load事件中添加这段代码:

Response.Write("Hellow World");

       7、打开“WebPart1.cs”,确认NAMESPACE为:DEMO.WEBPART。打开“WebPart1.dwp”,确认NAMESPACE为:DEMO.WEBPART

       8、在项目中添加一个CS类文件,文件名为:HelloWorldCode.cs。代码如下

using System;

using System.ComponentModel;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Xml.Serialization;

using Microsoft.SharePoint;

using Microsoft.SharePoint.Utilities;

using Microsoft.SharePoint.WebPartPages;

 

namespace DEMO.WEBPART

{

     /// <summary>

     /// Info

     /// </summary>

     [DefaultProperty("Text"),

     ToolboxData("<{0}:HelloWorldCode runat=server></{0}:HelloWorldCode>"),

     XmlRoot(Namespace="DEMO.WEBPART.HelloWorldCode")]

     public class HelloWorldCode : Microsoft.SharePoint.WebPartPages.WebPart

     {

         private const string defaultText = "";

 

         private string text = defaultText;

 

         private Control webc;

 

         [Browsable(true),

         Category("Miscellaneous"),

         DefaultValue(defaultText),

         WebPartStorage(Storage.Personal),

         FriendlyName("Text"),

         Description("Text Property")]

         public string Text

         {

              get

              {

                   return text;

              }

 

              set

              {

                   text = value;

              }

         }

 

 

         /// <summary>

         ///  This method gets the custom tool parts for this Web Part by overriding the

         ///  GetToolParts method of the WebPart base class. You must implement

         ///  custom tool parts in a separate class that derives from

         ///  Microsoft.SharePoint.WebPartPages.ToolPart.

         ///  </summary>

         ///<returns>An array of references to ToolPart objects.</returns>

         //       public override ToolPart[] GetToolParts()

         //       {

         //            ToolPart[] toolparts = new ToolPart[2];

         //            WebPartToolPart wptp = new WebPartToolPart();

         //            CustomPropertyToolPart custom = new CustomPropertyToolPart();

         //            toolparts[0] = wptp;

         //            toolparts[1] = custom;

         //            return toolparts;

         //       }

        

 

         /// <summary>

         /// Render this Web Part to the output parameter specified.

         /// </summary>

         /// <param name="output"> The HTML writer to write out to </param>

         ///

 

         protected override void RenderWebPart(HtmlTextWriter output)

         {

//            output.Write(SPEncode.HtmlEncode(Text));

              this.EnsureChildControls();

              this.webc.RenderControl(output);

 

         }

 

         protected override void CreateChildControls()

         {

              this.webc = this.Page.LoadControl("/usercontrols/HelloWorld_InterFace.ascx");

              this.Controls.Add(this.webc);

         }

        

     }

}

this.webc = this.Page.LoadControl("/usercontrols/HelloWorld_InterFace.ascx");这行代码是指明要调用的用户控件位置,就是在网站的“usercontrols”文件夹下。确认NAMESPACE为:DEMO.WEBPART

    9、复制随本文附带的“keypair.snk”文件到C:/下。这个是一个秘匙文件必须要在编译时使用。打开“AssemblyInfo.cs”文件,在文件最后的
[assembly: AssemblyKeyFile("")]处,修改为:[assembly: AssemblyKeyFile("c://Keypair.snk")]

     10、打开SHAREPOINT的网站主目录下的web.config文件,如果是建立在“默认网站”下的话,则会自动生成web.config文件,如果是在另外建立的虚拟目录上的,则要手工建立或者复制。在web.config文件中的<SafeControls>添加这段代码:
<SafeControl Assembly="DEMO.WEBPART,Version= 1.0.0 .0, Culture=neutral,PublicKeyToken=dcb85ecf7e0013d3" Namespace="DEMO.WEBPART" TypeName="*" Safe="True" />
这里的PublicKeyToken是刚才用SNK文件生成的秘匙串,如果是用本文所带的SNK文件,就使用这段秘匙串,确保AssemblyNamespace内容相同。

 

 

开发部分到这里就结束了。下面是部署部分。

 

 

 

二、WEBPART部署

    1、将编译时生成的DLL文件:DEMO.WEBPART.dll复制到SHAREPOINT网站所在的根目录中的BIN文件夹中,如果没有可以新建一个。也可以在编译项目前,把输出路径改为网站的根目录里的BIN文件夹,比如://SERVERHOST/Inetpub/wwwroot/bin

    2、将项目中的HelloWorld_InterFace.ascx文件复制到网站根目录中的“usercontrols”文件夹里,如果没有可以新建一个文件夹名字必须相同。其实到这里就是实现了ASP.NET所说的代码和界面分离了,复制上去的界面中是没有一点代码的,所有的代码都已经编译为一个DLL文件了。真的是很强大,封装性很好。

    3、用FRONTPAGE 2003打开SHAREPOINT网站,打开第一步建立的test4.aspx。在页面的顶端添加下面这些代码:

<%@ Register TagPrefix="WpNs0" Namespace="DEMO.WEBPART" Assembly="DEMO.WEBPART, Version= 1.0.0 .0, Culture=neutral, PublicKeyToken=dcb85ecf7e0013d3" %>

<%@ Page language="C#"    Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version= 11.0.0 .0,Culture=neutral,PublicKeyToken=71e9bce111e 9429c " %>

<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version= 11.0.0 .0, Culture=neutral, PublicKeyToken=71e9bce111e 9429c " %>

<%@ Import Namespace="Microsoft.SharePoint" %>

<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version= 11.0.0 .0, Culture=neutral, PublicKeyToken=71e9bce111e 9429c " %>

这里的PublicKeyToken是刚才用SNK文件生成的秘匙串,如果是用本文所带的SNK文件,就使用这段秘匙串,确保AssemblyNamespace内容相同。

    4将“<!-- WEBPART开始 -->”和“<!-- WEBPART结束 -->”中间的代码删除,替换成下面这段代码:

<WpNs0:HelloWorldCode  runat="server" WebPart="true" __WebPartId="{C 65F 9B11-371E-48B2-BBDF -62020F 3371E5}">

<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2">

  <Title>项目明细/Projects Detail</Title>

  <FrameType>None</FrameType>

  <Description>Description...</Description>

  <IsIncluded>true</IsIncluded>

  <PartOrder>1</PartOrder>

  <FrameState> Normal </FrameState>

  <Height />

  <Width />

  <AllowRemove>true</AllowRemove>

  <AllowZoneChange>true</AllowZoneChange>

  <AllowMinimize>true</AllowMinimize>

  <IsVisible>true</IsVisible>

  <DetailLink />

  <HelpLink />

  <Dir>Default</Dir>

  <PartImageSmall />

  <MissingAssembly />

  <PartImageLarge />

  <IsIncludedFilter />

  <ExportControlledProperties>false</ExportControlledProperties>

</WebPart>

</WpNs0:HelloWorldCode>

注意:<WpNs0:HelloWorldCode  runat="server" WebPart="true" __WebPartId="{C 65F 9B11-371E-48B2-BBDF -62020F 3371E5}">

标签中的WpNs0:HelloWorldCode属性是在项目中手工添加的CS类文件的文件名。确保标签的开、关标签名一致:<WpNs0:HelloWorldCode  runat="server" WebPart="true" __WebPartId="{C 65F 9B11-371E-48B2-BBDF -62020F 3371E5}">

…………………………………..

………………

</WpNs0:HelloWorldCode>

    5、保存文件,打开浏览器,访问SHAREPOINT PORTAL网站的上的ASPX网页,应该能够看到效果了。在本文中,访问的URL为:http://SERVERHOST/test4.aspx。效果如下

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值