SharePoint WebPart 简单的读取列表内容的web部件

最近,自己也在学习写一些SharePoint的部件,也就是使用对象模型,下面,介绍一下自己刚刚写的小测试程序,不足之处,还请指正。

1、  新建项目

Vs2008 – 新建 项目 类库 输入名字 确定,即可

2、  添加引用

当然,很多功能都不是咱自己写的,咱需要的多数是调用,尤其对于SharePoint本身的操作,因为有对象模型啊。右侧“解决方案资源管理器”引用,右键添加MicroSoft.SharePoint(这个东东在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI下面),因为使用对象模型,肯定需要这个了。然后在前面using里面添加

using Microsoft.SharePoint.WebPartPages;

然后在public class showlist:WebPart前面添加下面代码,为的是使我们定义的参数可以跑到右侧设置部件的地方去。

[ToolboxData("<{0}:WPToolPaneTest runat=server></{0}:WPToolPaneTest>"), XmlRoot(Namespace = "WPToolPaneTest")]

然后是添加强名称密钥

如图1

 

 

3、  下面可以先编译一下我们的部件,然后可以看看,我们的部件能发布到SharePoint网站中么?!先把dll拷到bin下,然后添加SafeControl

<SafeControl Assembly="showlist, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d6671b1a0bc0b78d" Namespace="showlist" TypeName="*" Safe="True" />

再说说那个PublicKeyToken怎么找到,可以用反编译工具,当然也可以用vs2008自带的工具,VS2008命令提示,输入sn –T 然后把dll拖进来,回车,记得-T后面敲个空格。

发布部件,就不用我说了吧,相信大家都很了解,不知道你们找到我们写的部件没有,我是找到了,添加进来看看有问题木有!

 

 

4、  好了,添加进去,一切OK!下面我们添加属性

就是这么一段代码

        private string _ListName = "部件测试";

        [Browsable(true), Category("显示列表"), FriendlyName("显示列表"), WebPartStorage(Storage.Shared), DefaultValue(""), Description("请输入显示列表")]

        public string ListName

        {

            get

            {

                return _ListName;

            }

            set

            {

                _ListName = value;

            }

        }

 

5然后就是现实的部分了,我们要用protected override void Render()函数

里面是

#region输出列表内容

            SPSite mySite = SPContext.Current.Site;

            SPWeb myWeb = SPContext.Current.Web;

            SPList myList = myWeb.Lists[this.ListName];

            SPQuery myQuery = new SPQuery();

            myQuery.Query = "<OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy>";

            SPListItemCollection myListItemCol;

            myListItemCol = myList.GetItems(myQuery);

            writer.Write("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");

            for (int i = 0; i <= 6; i++)

            {

                writer.Write("<tr>");

                writer.Write(myListItemCol[i]["Title"].ToString());

                writer.Write("</td></tr>");

            }

            #endregion

5、  然后重新编译一下,配置一下列表名称,就可以现实出来了

结果

 

ps:好了,基本上显示出来我的部件了,因为自己也是初学者,希望有不正确或不准确的,还请大家指正,大家共同交流,共同提高。

 

作者:霖雨
出处:http://www.cnblogs.com/jianyus
本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值