应该尽可能对所有可能出错的语句进行 try-catch ,
如果有必要,捕获每种特定异常,并提供更加友好的出错信息,使得程序更加人性化。
System.Web.UI.WebControls.WebParts; 为WebPart类的所在。
控件有: Button , TextBox , HtmlTableCell , Labe
它的公共属性有 :
AllowMinimize : 是否允许最小化;
Caption : WebPart的说明,标题后面的文字;
Description : WebPart的简介;
FrameState : WebPart的状态, Minimized 或 Normal ;
FrameType : WebPart边框的类型 , 有以下几种,Default(默认,使用该WebPart所在WebPartZone设定),None,Standard,TitleBarOnly(有标题栏无边框)
Height/Width : webPart 的长度和宽度;
ID : WebPart的ID;
PartImageLarge/PartImageSmall : WebPart的图片,通过设置这个图片,可以在管理WebPart时方便地找到该WebPart,与其他WebPart区分开;
Title : WebPart的标题;
ZoneID : WebPart 所在WebPartZone 的ID;
WebPart还有一些公有的或protected 函数 ,
Controls.Add( "控件对象" ) 在WebPart上添入控件。
protected 成员:
protected override void Render( System.Web.UI.HtmlTextWriter writer) //默认行为是依次遍历Controls中的控件,并将他们输出。
protected override void OnLoad( EventArgs e ) //首次加载时处理的事件
protected override void CreateChildControls() //由 Asp.net 页面框架调用 , 以通知服务器控件创建他们包含的任何子控件,以便回发或呈现做准备。
Microsoft.SharePoint;
//该命名提供了WSS中关于网站内容的基本的对象模型,例如网站,列表,文件和用户等。
SPSite 类
//网站的集合构造函数 : SPSite( String url ) ,SPSite( Guid x )
//Guid是对象的唯一标识符,通过Guid可以获取该对象实例,例如 SPSite , SPWeb , SPList , SPView , Area , AreaListing
//有些还采用整数做标识符,例如 表项SPListItem , 角色SPRole , 用户SPUser
AllWebs 属性
//可以获取该网站集中的所有网站,包括一个顶级网站和它下面的所有子网站。
//并且可以通过 webs[ int index ] , webs[ String url ] , webs[ Guid guid ] ,获得特定的SPWeb对象。
RootWeb 属性
//该属性是个SPWeb类型变量,它对所对应的对象是该网站集中的顶级网站,通过它可以逐步获得该网站级中的层级结构。
OpenWeb 函数
//返回一个SPWeb类型变量,通过该函数可以获得网站集中一个特定的网站。
OpenWeb( );
OpenWeb( Guid guid );
OpenWeb( String url );
SPWeb 类
//网页内容集合//大多数和WSS相关的内容都是通过使用SPWeb的一些成员变量来获取的,这些成员主要有:
AllUsers : 网站所有成员,以及通过域组来浏览网站的用户;
Files : 网站下的所有文件;
Folders : 网站下的所有目录;
Groups : 所有跨网站用户组;
Lists : 网站下的所有列表;
ListTemplates : 网站下的所有列表模版;
Permissions : 网站下的权限;
Roles : 网站下的所有角色;
Users : 属于该网站的所有用户;
Webs : 该网站的所有子网站;
//此外,SPWeb一些成员变量对应于网站的一些属性,例如:
AllowAnonymousAccess : 网站是否允许匿名访问(只读);
Author : 网站的创建者;
Created : 网站的创建时间;
CurrentUser : 当前的用户;
ID : 唯一标识该网站的Guid;
IsRootWeb : 该网站是否为顶级网站;
ParentWeb : 该网站的父网站;
Site : 该网站所属的网站集;
Title : 该网站的标题;
Url : 该网站的url绝对路径;
WebTemplate : 该网站的模版;
//SPWeb 对象提供的一些方法
GetFile : 通过url获得一个文件的对象(SPFile);
GetFolder : 通过url获取一个目录的对象SPFolder;
GetListOfType : 获取特定类型的列表的集合;
GetSubwebsForCurrentUser : 获取该网站的子网站(可以指定模板);
GetViewFromUrl : 通过url获取一个列表的视图SPView;
SaveAsTemplate : 将网站保存为模板;
SearchDocuments : 搜索网站的文档库(需要开启全文检索功能);
SearchListItems : 搜索列表条目;
Update : 使网站属性的修改生效;
//在修改对象属性时,只有Update后才会生效
SPList 类
//列表功能类//获取SPList的主要方法是通过访问 SPWeb.lists 这一 SPListCollection类型的属性。
//从该集合获得一个特定的列表对象有如下3种方法:
lists[ String name ];
lists[ Guid guid ];
lists[ int index ];
//添加一个列表通过调用SPListCollection.Add方法来完成,创建成功后返回新列表的Guid。
Add( String tile , String description , SPListTemplate template );
//前两个参数分别指定列表的名称和简介,第3个参数是一个SPListTemplate型变量,
//指定该列表创建时所需要的列表模板对象,该对象可以用SPWeb.ListTemplates属性获得;
Add( String title , String description , SPListTemplateType type );
//第3个参数是SPListTemplateType型枚举指定列表模板,枚举中所包含的都是
//网站默认拥有的基本类型的列表模板,如果创建一个自定义列表,可以用 SPListTemplateType.GenericList 做为该参数;
Add( String title , String description , SPListTemplate template , SPDocTemplate docTemplate );
//该方法会创建一个文档库,第3个参数指定列表的模板对象,第4个参数指定文档库的对象,
//该对象可以通过SPWeb.DocTemplates属性获得;
//删除列表时,通过调用SPListCollection.Delete 方法完成
Delete( Guid guid );//通过Guid来删除列表
//SPlist 有如下一些常用属性:
BaseTemplate : 该列表所对应的列表模板;
BaseType : 该列表的基础类型;
DefaultView : 该列表的默认视图对象;
EnableAttachments : 该列表是否允许添加附件;
EnableModeration : 该列表是否开启审批功能;
Fields : 列表字段的集合;
Forms : 列表表单的集合,主要有浏览,添加和修改几个页面;
ID : 标适该列表的唯一的Guid;
Items : 列表条目的集合;
ParentWeb : 列表所在的网站对象;
Title : 列表的标题;
Views : 该列表的视图的集合;
//修改属性后要通过 SPList.Update 方法使修改生效.
SPView 类
//视图除了负责数据的多样化显示,视图的另外一个重要作用就是对数据的筛选和排序//在SharePoint环境中可以直接对视图的这些内容方便地进行修改,通过使用计算字段,可以更加丰富筛选和排序功能;
//获取SPView 对象有3种方法:
通过List.DefaultView 属性得到该列表的默认视图;
通过SPWeb.GetViewFromUrl 方法根据url获取到该视图,在实际使用中,可以使用这种方法先获得一个视图,再得到这个视图所在的列表对象;
通过List.Views 得到该列表的所有视图,再通过以下3种方式得到特定的视图:
views[ String name ];
views[ Guid guid ];
views[ int index ];
//添加一个视图,通过SPViewCollection.Add方法来完成:
Add( String name , StringCollection fields , String query , uint rowLimit , bool paged , bool makeDefault);
//name参数指定视图名称 , fields参数指定了需要显示的字段名的集合,
//query参数指定了对数据的筛选条件,rowLimit参数指定了视图中一次所返回的列表条目的最大个数,
//paged参数指定了该视图是否支持翻页, makeDefault 参数指定了是否需要将该视图作为默认视图;
Add( String name , StringCollcection fields , String query , uint rowLimit , bool paged , bool makeDefault, SPViewCollection.SPViewType type , bool personalView);
//前面参数与上文相同,type参数指定了该视图的基本类型,personalView参数指定了该视图是否为个人视图。
//与列表添加方法不同,试图添加方法返回的是 SPview对象,而不是一个Guid;
//删除一个视图同样使用SPViewCollection.Delete 方法,用视图的Guid作为参数;
//默认页面浏览一个视图的时候,视图的翻页功能只有"下一页"而没有"上一页",如果需要实现向前翻页功能,需要自己写程序完成;
//SPView 中常用的一些属性如下:
ID : 标识该视图的列表对象(SPList);
ParentList : 包含该视图的列表对象;
PropertiesXml : 该视图的基本信息,包括URL,名称和类型等;
Query : 视图中对数据进行筛选的查询XML字符串;
SchemaXml : 该视图的信息,包括基本信息和例如筛选,分组等;
Title : 该视图的名称;
ViewFields : 该视图需要显示的字段的集合;
Url : 显示该视图所对应的URL;
//修改属性后需要调用SPView.Update 才能使修改生效
SPField 类
//对应于列表中的字段对象。SharePoint的列表由若干个字段所组成,每个字段可以设置为不同的数据类型,也可以拥有不同的属性设置,例如默认值,是否隐藏,是否可以为空等。//获得SPField对象方法主要是通过SPList.Fields 属性得到所有字段,再通过两种方法得到特定字段:
fields[ String dispName ];
fields[ int index ];
//为列表添加字段有3种方法:
Add( String dispName , SPFieldType type , bool bRequired );
AddLookup( String dispName , Guid lookupListID , bool bRequired );
AddFieldAsXml( String strXml);
//SPField 拥有如下一些比较常用的属性。
DefaultFormula : 计算字段的公式;
DefaultValue : 字段的默认值;
Description : 该字段的说明描述信息;
Filterable : 该字段是否可以被筛选;
Hidden : 该字段是否在列表中显示;
InernalName : 该字段的内部名称;
ParentList : 该字段所在列表的对象;
ReadOnlyField : 该字段是否被只读;
Required : 在填写数据时候,该字段是否必填;
SchemaXml : 该字段设置的信息;
Sortable : 该字段是否可以被排序;
Title : 该字段的字段名,即显示名称;
Type : 该字段的类型,为SPFieldType 类型的枚举;
//修改后用Update更新才会生效;
//每个字段都有两个名称,即显示名称 和 内部名称 , 它们在对象模型中对应于 SPField.Title 和 SPField.InternalName 。
//SPField的子类有,SPFieldText , SPFieldLookup , SPFieldNumber.
SPListItem 类
//在列表的实际操作中,最终要接触到的还是作为数据内容部分的列表条目(List Item).//在访问列表的某个具体条目之前,都需要先获得一个列表条目的集合。
//获得列表条目集合的方法:
使用SPList.Items 属性,该属性返回列表中的所有列表条目,在需要得到或者遍历所有列表条目时,可以使用这种获取列表的方法;
使用SPList.GetItems 方法,有目的的获得部分列表条目:
GetItems( SPView view );
GetItems( SPQuery query );//SPQuery 是负责查询列表条目的一个类,通过定义一个查询,可以方便地获取想要得到的列表条目;
//SPQuery提供了两种构造函数,一种是无参数的,另外一种可以带有一个SPView类型的参数,即在指定的视图上进行2次查找。
//SPQuery最核心的一个属性就是Query属性,它是一个字符串的类型,它通过一种特殊定义过的xml形式,即 CAML( Collaborative Application Markup Language )
//的形式描述一个查询的条件,实际上这个查询字符串和 SPView.Query 属性是相当的。
GetItems( SPQuery query , String viewID );
//在使用SPQuery 时,必须每使用一次都要重新进行构造( 即使用new 运算符重新生成一个新的对象),然后再指定Query属性;
//否则,如果不进行重新构造,即使指定了不同的Query 属性,在每次查询的时候始终得到的是第一次指定的Query 条件的查询结果。
//获得集合后,在获得某个具体的列表条目时,有下面两种方法。
items[ int index ];
GetItemById( int id );//每个列表条目都会有一个该列表中唯一的ID
//得到列表条目之后,就可以对该条目的内容进行访问或修改了,访问条目某个字段方法最常用的为: item[ String fieldname ]
//其中 fieldname ,可以使用该字段的显示名称,也可以使用该字段的内部名称。
//SPListItem属性
Attachments :该列表条目的附件集合;
File : 如果该列表是文档库的话,得到该文件的对象;
ID : 在该列表唯一标识该列表条目的整型;
ModerationInfomation : 该列表条目的审批信息;
ParentList : 该列表条目所在列表对象;
Xml : 以XML的格式返回该列表条目中的所有数据;
//属性修改后,通过SPListItem.Update使得修改生效;
//添加一条列表条目方法
SPListItemCollection.Add()
//该方法不需要参数,直接返回一个空的SPListItem对象,
//通过该对象对各字段的内容进行修改,再调用Update就可将该条目添加到该列表中。
//删除一个列表条目
SPListItemCollection.DeleteById( int id );
SPListItemCollection.Delete( int index );
//SPListItemCollection 类中,有一个非常有用的方法:GetDataTable 即
DataTable GetDataTable();
//该方法可以返回由这些列表条目所组成的DataTable对象,以便将数据绑定到一些显示控件上。而没有条目时返回NULL;