VisualStudio 开发 WebPart 之操作列表

在 vs 开发 webpart 的过程中,操作列表是很普遍的一个操作。

首先介绍一下获取列表的方式:

//方式 1:通过列表名来获取
SPSite site = new Site("http://siteurl"); //siteurl 为具体网站集的地址
SPWeb web = site.RootWeb;
SPList list1 = web.Lists("通知"); //[通知] 为列表名

//方式 2:通过列表 url 来获取
SPList list2 = web.GetListFromUrl("http://srcsite/Lists/Announcements/AllItems.aspx");

//方式 3:通过列表 ID 来获取
Guid listId = new Guid("{0773fb10-a009-470c-808a-e6b4abb04d21}");
SPList list3 = web.Lists[listId];

web.Dispose();
site.Dispose();
  

另外,如果代码运行于站点内部,还可以通过上下文对象来获取

SPList list4 = SPContext.Current.List;
 列表获取之后,可以修改列表的各种属性

SPList list = SPContext.Current.Web.Lists["通知"];
//修改标题
list.Title = "公告";
//添加字段
list.Fields.Add("字段名",SPFieldType.Text,false);
//设置列表是否显示到快速启动栏
list.OnQuickLanch = true;
//保存修改
list.Update();
  

下面的代码演示如何创建一个列表,并使列表显示在快速启动栏。

SPSite site = new SPSite("http://spserver");
SPWeb web = site.RootWeb;
web.AllowUnsafeUpdates = true;
//添加列表
Guid newListId = web.Lists.Add("部门通知","",SPListTemplateType.Announcements);
//设置列表显示在快速启动栏
SPList newList = web.Lists[newListId];
newList.OnQuickLanch = true;
newList.Update();
web.Dispose();
site.Dispose();
  

文档库对象继承于列表对象,文档库的大部分操作通过列表对象进行即可。只有涉及到文档库自身的功能的时候,才需要文档库对象。要获取文档库对象,首先 获取到相应的列表对象,然后进行类型转换即可。代码如下:

SPSite site = new SPSite("http://spserver");
SPWeb web = site.RootWeb;
SPList list = web.Lists["共享文档"];
//将列表对象转换成文档库对象
SPDocumentLibrary doclib = (SPDocumentLibrary) list1;
//获取所有的签处文件
IList<SPCheckedOutFile> checkedOutFile = doclib.CheckedOutFiles;
web.Dispose();
site.Dispose();