zoukankan      html  css  js  c++  java
  • 24小时学会开发webpart


    24小时学会是有前提条件的,
    基本上要具备开发ASP.net的条件。
    拥有创建用户控件的能力。

    系统条件:
    VS.net
    windows 2003 server
    STSV2 -(sharepoint 2.0) 网上下载
    Web Part Template Library 网上下载

    大概步骤:
    1. 软件安装。(不用我说吧?)
    注意:
    >>>stsv2安装的时候请选择工厂模式(factory model),
    使用mssql数据库;否则会安装msde桌面数据库。

    >>>不要安装frongpage extend,因为在sts中已经有替代组件。
    安装的话,要使用工具卸载,不能只能在添加和删除组件中去除。
    哪个工具,在sts readme文件中有说明。

    >>>装完vs.net后,安装web part模板,如果开发环境是2003+sts,
    则自动找到miscrosoft.sharepoint.dll文件,如果开发环境是xp或2000,
    会提示你输入miscrosoft.sharepoint.dll的目标地址,
    我跳过,在创建webpart的时候,引用了从2003机器上拷来的dll。
    我的开发环境是2000

    2.在vs.net选择开发项目为web part,(装好模板后自动出现)。
    写个hello world,是程序员的本事。
    生成的程序集(assembly)名:testWebPart
    命名空间:testWebPart.first
    类名:helloword
    以上这些也要编写在webpart1.dwp中

    <?xml version="1.0" encoding="utf-8"?>
    <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
        
    <Title>WebPart1</Title>
        
    <Description>WebPart1.</Description>
        
    <Assembly>testWebPart</Assembly>
        
    <TypeName>testWebPart.first.helloword</TypeName>
        
    <!-- Specify initial values for any additional base class or custom properties here. -->
    </WebPart>


    3.部署。
    将编译的dll拷贝到网站根目录下的bin中去,(bin这个目录默认没有建,自己手工建一个吧。)
    然后编辑根目录下的web.config
    在  <SafeControls>
    加一个
     <SafeControl Assembly="testWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="testWebPart.first" TypeName="*" Safe="True" />
    告知wss这个webpart是安全的.
    如果不想用强命名则这样:
     <SafeControl Assembly="testWebPart, Version=1.0.0.0, Culture=neutral,  Namespace="testWebPart.first" TypeName="*" Safe="True" />

    这里说一下sn.exe工具的使用:

    生成新的密钥对并将其写入文件
    sn -k c:\mykeyfile.snk

    在AssemblyInfo.cs文件中的[assembly: AssemblyKeyFile("")]
    改写成为
    [assembly: AssemblyKeyFile("c:\mykeyfile.snk")]

    得到公匙[PublicKeyToken]
    sn -t c:\testWebPart.dll

    4.在sharepoint界面上add WEB part,使用import,上传WebPart1.dwp,
    如果没有问题就可以加入到page页面中去了.

    重要常见问题解答:

    1.
    Q:在sharepoint页面上上传XXX.dwp,加入page报:
    not register .... is not safe.....
    A:注意web.config文件的配置,请参考部署

    2.
    Q:我写了无数user control控件,总不能要全部转化成web part才能放到sharepoint上去吧?
    A:当然.不过只用作一点工作.
    实际上,Microsoft.SharePoint.WebPartPages.WebPart 同样具有page.loadcontrol
    这些方法,仍然可以动态的创建用户控件.
    比如:
    我有一个项目文件,生成了customer.web.dll程序集
    同时我想把其中一个userlist.ascx文件放入到sharepoint中去.

    这样操作,
    在webpart中引用customer.web.dll
    把文件拷贝到
    wwwroot\wpresources\mywebpart\customer下
    注意:wwwroot\wpresources是系统自有目录,我创建了mywebpart\customer

    在webpart项目代码中这样写:

    //定义用户控件
    protected customer.web.UserList c_myUserList;

    //在RenderWebPart添加如下代码,将子控件输出.
    this.RenderChildren(output);

    //重载CreateChildControls方法
    protected override void CreateChildControls()
            
    {
            
    //实例化对象
                     c_myUserList = (customer.web.UserList)this.Page.LoadControl("/wpresources/mywebpart/customer/userlist.ascx");
            
    //将控件加入到容器中
                     this.controls.add(c_myUserList );

                     
        }

    收工.


    3.
    Q:permission for system.data.sqlcliet assembly ....failed.
    A:这个是wss的web.config文件中的
     <trustLevel name="WSS_Minimal" policyFile="D:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\config\wss_minimaltrust.config" />
    wss_minimaltrust.config的问题,
    要进行修改.
    要增加两条代码
    <SecurityClass Name="System.data.sqlclient" Description="System.Security.Policy.ZoneMembershipCondition,System.data.sqlclient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

    在wss_minimaltrust.config中加上:

    <IPermission class="SqlClientPermission" version="1" Unrestricted="true" />

  • 相关阅读:
    STM32 USB应用——VCP
    基础数据类型与字节数组相互转换 BitConvter类
    C# 16进制与字符串、字节数组之间的转换
    C语言函数手册学习
    C串口通信
    C#串口通信
    C Socket通信编程
    C SOCKET编程
    C# SOCKE通信
    socket阻塞与非阻塞,同步与异步、I/O模型
  • 原文地址:https://www.cnblogs.com/king_astar/p/101601.html
Copyright © 2011-2022 走看看