<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_承接MOSS各种工作流开发 联系人:王先生.电话:13691349686QQ:252385878 QQ群：41696750　MSN:wanghao-3@hotmail.com</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/27201/rss</id><updated>2011-11-17T13:59:44Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/27201/rss"/><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/03/21/1990753.html</id><title type="text">CAML 多表查询 SPQuery.Joins and ProjectedFields</title><summary type="text">在实际的SharePoint项目中，业务都比较复杂，其实我们的List一直都支持多表查询的~~嘿嘿！Demo：字典表：CityState表： 标题(Text) State(Text) AreaCode(num)Locations表： 标题(Text) City(Text) zipCode (num)Customer表： CustomerName(Text) Address(Text) City(Lookup) State(Lookup)下面通过SPQuery 进行多表查询（不过Joins 和ProjectedFields 对于字段有很多限制，join的表不支持多行文本，不支持用户或用户组 ）.</summary><published>2011-03-21T13:58:00Z</published><updated>2011-03-21T13:58:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/03/21/1990753.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/03/21/1990753.html"/><content type="html">&lt;p&gt;在实际的SharePoint项目中，业务都比较复杂，其实我们的List一直都支持多表查询的~~&lt;img src="http://www.cnblogs.com/Emoticons/others/cool002.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;嘿嘿！&lt;/p&gt;&#xD;
&lt;p&gt;Demo：&lt;/p&gt;&#xD;
&lt;p&gt;字典表：&lt;/p&gt;&#xD;
&lt;p&gt;CityState表： &amp;nbsp;标题(Text)&amp;nbsp;&amp;nbsp; State(Text) &amp;nbsp;AreaCode(num)&lt;/p&gt;&#xD;
&lt;p&gt;Locations表：&amp;nbsp; 标题(Text)&amp;nbsp;&amp;nbsp; City&amp;nbsp;(Text)&amp;nbsp; zipCode (num)&lt;/p&gt;&#xD;
&lt;p&gt;Customer表：&amp;nbsp; CustomerName(Text) Address(Text) City(Lookup) State(Lookup)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;下面通过SPQuery 进行多表查询（不过Joins 和ProjectedFields 对于字段有很多限制，join的表不支持多行文本，不支持用户或用户组 ）&lt;/p&gt;&#xD;
&lt;p&gt;using (SPSite site = new SPSite(@"&lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt;"))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SPWeb web = site.OpenWeb())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPList list1 = web.Lists["Customers"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPQuery query = new SPQuery();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.Query = "&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name='Title'/&amp;gt;&amp;lt;Value Type='Text'&amp;gt;AA&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.Joins = @"&amp;lt;Join Type='LEFT' ListAlias='Locations'&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name='City' RefType='ID'/&amp;gt;&amp;lt;FieldRef List='Locations' Name='ID'/&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Join&amp;gt;&amp;lt;Join Type='LEFT' ListAlias='CityState'&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name='State' RefType='ID'/&amp;gt;&amp;lt;FieldRef List='CityState' Name='ID'/&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Join&amp;gt;";//&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.ProjectedFields = @"&amp;lt;Field Name='zipCode1' Type='Lookup' List='Locations' ShowField='zipCode'/&amp;gt;&amp;lt;Field Name='AreaCode' Type='Lookup' List='CityState' ShowField='AreaCode'/&amp;gt;&amp;lt;Field Name='CreateU' Type='Lookup' List='CityState' ShowField='Created'/&amp;gt;";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query.ViewFields = @"&amp;lt;FieldRef Name='Title'/&amp;gt;&amp;lt;FieldRef Name='City'/&amp;gt;&amp;lt;FieldRef Name='zipCode1'/&amp;gt;&amp;lt;FieldRef Name='State'/&amp;gt;&amp;lt;FieldRef Name='AreaCode'/&amp;gt;&amp;lt;FieldRef Name='CreateU'/&amp;gt;";//&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPListItemCollection items = list1.GetItems(query);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;Joins对应的join的表，ProjectedFields 对应的Join的表的字段&lt;/p&gt;&#xD;
&lt;p&gt;ViewFields 对应的需要显示的字段。。。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;稍等继续......&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1990753.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/03/21/1990753.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/22/1941783.html</id><title type="text">SharePoint 2010 你状态机了吗！</title><summary type="text">由于要给客户做培训，关于sharepoint 2010 工作流的，打算在网上找个demo看看的，结果这方面的demo 还比较少，只能自己折腾了哎，谁叫客户就是上帝嘛。开始打算用顺序流的，发现网上这方面的资料比较多，而且顺序流不能体现实际的业务，看起来太“土”。。。。状态机流程图首先申请人---〉操作员审批----领导审批---结束当然还有拒绝的动作，我就不在这里说明了，大家看图·申请表单 审批表单流程结束设计这个流程的时候，发现和2007的版本一样，在基于VS这块，无论顺序还是状态流程，貌似变化不大@开发sharepoint 2010 工作流 需要注意这个配置xml&amp;lt;Elements xmln</summary><published>2011-01-21T16:01:00Z</published><updated>2011-01-21T16:01:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/22/1941783.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/22/1941783.html"/><content type="html">&lt;p&gt;由于要给客户做培训，关于sharepoint 2010 工作流的，打算在网上找个demo看看的，结果这方面的demo 还比较少，只能自己折腾了&lt;/p&gt;&#xD;
&lt;p&gt;哎，谁叫客户就是上帝嘛。&amp;nbsp;开始打算用顺序流的，发现网上这方面的资料比较多，而且顺序流不能体现实际的业务，看起来太&amp;#8220;土&amp;#8221;。。。。&lt;/p&gt;&#xD;
&lt;p&gt;状态机流程图&lt;/p&gt;&#xD;
&lt;p&gt;首先申请人---〉操作员审批----领导审批---结束&lt;/p&gt;&#xD;
&lt;p&gt;当然还有拒绝的动作，我就不在这里说明了，大家看图&amp;#183;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 598px; height: 536px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/awf0.jpg" width="598" height="536" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;申请表单 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/awf1.jpg" width="893" height="154" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;审批表单&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/awf7.jpg" width="870" height="343" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;流程结束&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/awf8.jpg" width="1090" height="164" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;设计这个流程的时候，发现和2007的版本一样，在基于VS这块，无论顺序还是状态流程，貌似变化不大@&lt;/p&gt;&#xD;
&lt;p&gt;开发sharepoint 2010 工作流 需要注意这个配置xml&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;Elements xmlns="&lt;a href="http://schemas.microsoft.com/sharepoint/"&gt;http://schemas.microsoft.com/sharepoint/&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Workflow&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="AA.Workflows.State - StateMachine"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description="My SharePoint Workflow"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id="630ffa3d-6da8-4e77-a77c-c602e49f956d"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CodeBesideClass="AA.Workflows.State.StateMachine.StateMachine"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CodeBesideAssembly="$assemblyname$" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AssociationUrl="_layouts/AA.Workflows.State/StateMachine/WorkflowAssociationForm1.aspx"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstantiationUrl="_layouts/AA.Workflows.State/StateMachine/WorkflowInitiationForm1.aspx"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TaskListContentTypeId="0x010801005e7969df923b4d7190ee6dcdae487a57"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Categories/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MetaData&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;AssociationCategories&amp;gt;List&amp;lt;/AssociationCategories&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Tags to specify InfoPath forms for the workflow; delete tags for forms that you do not have --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--&amp;lt;Association_FormURN&amp;gt;[URN FOR ASSOCIATION FORM]&amp;lt;/Association_FormURN&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Instantiation_FormURN&amp;gt;[URN FOR INSTANTIATION FORM]&amp;lt;/Instantiation_FormURN&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Task0_FormURN&amp;gt;[URN FOR TASK (type 0) FORM]&amp;lt;/Task0_FormURN&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Task1_FormURN&amp;gt;[URN FOR TASK (type 1) FORM]&amp;lt;/Task1_FormURN&amp;gt;--&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Modification forms: create a unique guid for each modification form --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--&amp;lt;Modification_[UNIQUE GUID]_FormURN&amp;gt;[URN FOR MODIFICATION FORM]&amp;lt;/Modification_[UNIQUE GUID]_FormURN&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Modification_[UNIQUE GUID]_Name&amp;gt;[NAME OF MODIFICATION TO BE DISPLAYED AS A LINK ON WORKFLOW STATUS PAGE&amp;lt;/Modification_[UNIQUE GUID]_Name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StatusPageUrl&amp;gt;_layouts/WrkStat.aspx&amp;lt;/StatusPageUrl&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MetaData&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;/Workflow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;ContentType ID="0x010801005e7969df923b4d7190ee6dcdae487a57"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="AA.Workflows.State - ContentType2"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group="Custom Content Types"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description="My Content Type"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version="0"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FieldRefs&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FieldRef ID="{F2C72B83-CA8A-45EE-9F72-3286F6E37E12}"&amp;nbsp; Name="TaskData" DisplayName ="Task Data"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/FieldRefs&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;XmlDocuments&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;XmlDocument NamespaceURI="&lt;a href="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url"&gt;http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FormUrls xmlns="&lt;a href="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url"&gt;http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Edit&amp;gt;_layouts/AA.Workflows.State/TaskApprove.aspx&amp;lt;/Edit&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/FormUrls&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/XmlDocument&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/XmlDocuments&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/ContentType&amp;gt;&lt;br /&gt;&amp;lt;/Elements&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;尤其是这个内容ID&lt;/p&gt;&#xD;
&lt;p&gt;后台aspx页面像Workflow传送value的时候可以通过&lt;/p&gt;&#xD;
&lt;p&gt;Hashtable htData = new Hashtable();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htData["TaskData"] = "true";&lt;/p&gt;&#xD;
&lt;p&gt;这个hashtable来做&lt;/p&gt;&#xD;
&lt;p&gt;SPWorkflowTask.AlterTask(this.taskItem, htData, true);&lt;/p&gt;&#xD;
&lt;p&gt;可以把value传送给工作流&lt;/p&gt;&#xD;
&lt;p&gt;在流程里面取值：&lt;/p&gt;&#xD;
&lt;p&gt;在审批动作里面直接这样取&lt;/p&gt;&#xD;
&lt;p&gt;private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.IsOperatorPenson = bool.Parse(this.afterProperties1.ExtendedProperties["TaskData"].ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.leaderPenson = this.afterProperties1.ExtendedProperties["ApproveUser"].ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.auditComments = this.afterProperties1.ExtendedProperties["Comments"].ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;需要代码学习的，可以留下邮箱，我稍后也会把代码上传的&lt;/p&gt;&#xD;
&lt;p&gt;困。。。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1941783.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/22/1941783.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/11/1932997.html</id><title type="text">SharePoint  文档库打开HTML 直接浏览而不是打开下载对话框</title><summary type="text">SharePoint 文档库打开HTML 直接浏览而不是打开下载对话框在实际的项目中，可能有些时候需要把一些html放在文档库中，而不是直接提示下载这个需要在管理中做一个简单的配置：管理中心-〉应用程序管理-〉管理web应用程序-〉选择站点-〉常规设置-》浏览器文件处理程序，改成许可</summary><published>2011-01-11T08:20:00Z</published><updated>2011-01-11T08:20:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/11/1932997.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/11/1932997.html"/><content type="html">&lt;p&gt;SharePoint&amp;nbsp; 文档库打开HTML 直接浏览而不是打开下载对话框&lt;/p&gt;&#xD;
&lt;p&gt;在实际的项目中，可能有些时候需要把一些html放在文档库中，而不是直接提示下载&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这个需要在管理中做一个简单的配置：&lt;/p&gt;&#xD;
&lt;p&gt;管理中心-〉应用程序管理-〉管理web应用程序-〉选择站点-〉常规设置-》浏览器文件处理程序，改成许可&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1932997.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/11/1932997.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/06/1929206.html</id><title type="text">SharePoint Write Logs</title><summary type="text">using System;using System.Security.Permissions;using System.IO;using System.Collections.Generic;using System.Text;using Microsoft.SharePoint;using Microsoft.SharePoint.Security;using Microsoft.SharePoint.Utilities;using Microsoft.SharePoint.Workflow;namespace AnnouncementListEvent.EventReceiver1{ //</summary><published>2011-01-06T13:59:00Z</published><updated>2011-01-06T13:59:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/06/1929206.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/06/1929206.html"/><content type="html">&lt;p&gt;using System;&lt;br /&gt;using System.Security.Permissions;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.SharePoint;&lt;br /&gt;using Microsoft.SharePoint.Security;&lt;br /&gt;using Microsoft.SharePoint.Utilities;&lt;br /&gt;using Microsoft.SharePoint.Workflow;&lt;/p&gt;&#xD;
&lt;p&gt;namespace AnnouncementListEvent.EventReceiver1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// List Item Events&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class EventReceiver1 : SPItemEventReceiver&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// An item is being added.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void ItemAdding(SPItemEventProperties properties)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.ItemAdding(properties);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writeDataToLogFile(properties, "ItemAdding Event");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writeListItemToCustomList(properties, "ItemAdding Event");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;private void writeListItemToCustomList(SPItemEventProperties properties, string eventName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string spLog = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateTime currentTime = DateTime.Now;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spLog = eventName + " " + currentTime.ToString();&lt;/p&gt;&#xD;
&lt;p&gt;using (SPSite site = new SPSite("&lt;a href="http://moss2010/"&gt;http://moss2010/&lt;/a&gt;"))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (SPWeb web = site.OpenWeb())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; web.AllowUnsafeUpdates = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPList list = web.Lists["Log"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPListItem Item = list.Items.Add();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Item["Title"] = properties.ListTitle.ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Item["Log Entry"] = spLog;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Item.Update();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;private void writeDataToLogFile(SPItemEventProperties properties, string eventName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileIOPermission myPermissions = new FileIOPermission(PermissionState.Unrestricted);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myPermissions.AddPathList(FileIOPermissionAccess.AllAccess, "c:\\Authoring");&lt;/p&gt;&#xD;
&lt;p&gt;StreamWriter sw = File.AppendText(@"C:\Authoring\mySPLog.txt");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuilder sb = new StringBuilder();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb.AppendFormat("Date, Event and List:\n {0} {1} {2} ", DateTime.Now.ToString(), eventName, properties.ListTitle);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sw.WriteLine(sb.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sw.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1929206.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/06/1929206.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926896.html</id><title type="text">User Profile Data Web Part 读取属性字段</title><summary type="text">User Profile Data Web PartProperty NameDisplay NameUserProfile_GUIDIdSIDSIDADGuidActive Directory IDAccountName帐户名FirstName名字SPS-PhoneticFirstName拼音名LastName姓氏SPS-PhoneticLastName拼音姓PreferredName名称SPS-PhoneticDisplayName拼音显示姓名WorkPhone单位电话Department部门Title职务SPS-JobTitle职务Manager经理AboutMe描述PersonalSp</summary><published>2011-01-05T15:22:00Z</published><updated>2011-01-05T15:22:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926896.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926896.html"/><content type="html">&lt;table  border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&#xD;
&lt;table border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr &gt;&#xD;
&lt;td id="WebPartTitlectl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6"  title="User Profile Data Web Part - This web part demonstrates consuming data from userprofile.asmx"&gt;&#xD;
&lt;h3 style="text-align: justify" &gt;&lt;nobr&gt;&lt;span&gt;User Profile Data Web Part&lt;/span&gt;&lt;span id="WebPartCaptionctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6"&gt;&lt;/span&gt;&lt;/nobr&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td  onclick="OpenWebPartMenu('MSOMenu_WebPartMenu', this, 'WebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6','False'); TrapMenuClick(event); return false;" align="right"&gt;&lt;span style="display: none"&gt;&#xD;
&lt;menu id="MSOMenu_WebPartMenu" &gt;&lt;IE:MENUITEM id="MSOMenu_Minimize" title="折叠此 Web 部件。" onmenuclick="javascript:MSOLayout_MinimizeRestore(MenuWebPart)" type="option" text="最小化"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Restore" title="展开此 Web 部件。" onmenuclick="javascript:MSOLayout_MinimizeRestore(MenuWebPart)" type="option" text="还原"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Close" title="关闭此 Web 部件。您仍可在&amp;#8220;插入&amp;#8221;功能区中的已关闭 Web 部件部分找到它。这些更改将适用于所有用户。" onmenuclick="javascript:MSOLayout_RemoveWebPart(MenuWebPart)" type="option" text="关闭"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Delete" title="从页面中删除此 Web 部件。这些更改将适用于所有用户。" onmenuclick="if(confirm('\u60A8\u5C06\u6C38\u4E45\u5220\u9664\u6B64 Web \u90E8\u4EF6\u3002\u662F\u5426\u8981\u6267\u884C\u6B64\u64CD\u4F5C?')) {MSOWebPartPage_partDeleted = MenuWebPartID;MSOWebPartPage_MenuDoPostBack('ctl00$m', MenuWebPartID + ';MSOMenu_Delete');}" type="option" text="删除" iconsrc="/_layouts/images/DelItem.gif"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM type="separator"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Edit" title="更改此共享 Web 部件的属性。这些更改将只适用于所有用户。" onmenuclick="javascript:MSOTlPn_ShowToolPane2Wrapper('Edit', 16, MenuWebPartID)" type="option" text="编辑 Web 部件" iconsrc="/_layouts/images/EditItem.gif"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Connections" title="显示此 Web 部件的连接选项。这些更改将适用于所有用户。" onmenuclick="" type="option" text="连接"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM type="separator"&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM id="MSOMenu_Export" title="导出此 Web 部件。这些更改将适用于所有用户。" onmenuclick="javascript:MSOWebPartPage_ExportCheckWarning('\u002fdocCen\u002f_vti_bin\u002fexportwp.aspx?pageurl=http\u00253A\u00252F\u00252Fmoss2010\u00253A80\u00252FdocCen\u00252Fdefault\u00252Easpx\u00253FPageView\u00253DShared\u002526InitialTabId\u00253DRibbon\u00252EWebPartPage\u002526VisibilityContext\u00253DWSSWebPartPage\u0026guidstring='+ escape(MenuWebPartID), MenuWebPart.getAttribute('HasPers') == 'true')" type="option" text="导出..."&gt;&lt;/IE:MENUITEM&gt;&lt;IE:MENUITEM style="display: none" id="MSOMenu_Help" onmenuclick="MSOWebPartPage_SetNewWindowLocation(MenuWebPart.getAttribute('helpLink'), MenuWebPart.getAttribute('helpMode'))" type="option" text="帮助" iconsrc="/_layouts/images/HelpIcon.gif"&gt;&lt;/IE:MENUITEM&gt;&lt;/menu&gt;&lt;/span&gt;&#xD;
&lt;div  onmouseover="this.className='ms-WPMenuDivHover'" onmouseout="this.className='ms-WPMenuDiv'"&gt;&lt;a onblur="UpdateWebPartMenuFocus(this, 'ms-wpselectlink', 'ms-WPEditText');" onkeydown="WebPartMenuKeyboardClick(document.getElementById('WebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6_MenuLink'), 13, 40, event)" id="WebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6_MenuLink"  onfocus="UpdateWebPartMenuFocus(this, 'ms-wpselectlinkfocus', 'ms-WPEditTextVisible');" title="User Profile Data Web Part Web 部件菜单" onclick="OpenWebPartMenuFromLink('MSOMenu_WebPartMenu', this, 'WebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6','False'); return false;" href="http://moss2010/docCen/default.aspx?PageView=Shared&amp;amp;InitialTabId=Ribbon.WebPartPage&amp;amp;VisibilityContext=WSSWebPartPage#" menuid="MSOMenu_WebPartMenu"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px"  alt="User Profile Data Web Part Web 部件菜单" src="http://moss2010/_layouts/images/wpmenuarrow.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&#xD;
&lt;td &gt;&lt;span &gt;&lt;input onblur="this.className='ms-WPHeaderCbxHidden'" id="SelectionCbxWebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6" onmouseup="WpCbxSelect(event); return false;"  onfocus="this.classname='ms-WPHeaderCbxVisible'" title="选择或取消选择 User Profile Data Web Part Web 部件" onkeyup="WpCbxKeyHandler(event);" onclick="TrapMenuClick(event); return false;" type="checkbox"&gt;&lt;/span&gt;&lt;/td&gt;&#xD;
&lt;td  align="left"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td valign="top"&gt;&#xD;
&lt;div id="WebPartctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6"  width="100%" allowdelete="false" haspers="false" webpartid="761e90dc-e511-4045-a2ac-4beee26708f6" allowexport="false"&gt;&#xD;
&lt;div id="ctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6"&gt;&#xD;
&lt;div&gt;&#xD;
&lt;table style="border-collapse: collapse" id="ctl00_m_g_761e90dc_e511_4045_a2ac_4beee26708f6_ctl00_GridView1" border="1" rules="all" cellspacing="0"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th scope="col"&gt;Property Name&lt;/th&gt;&#xD;
&lt;th scope="col"&gt;Display Name&lt;/th&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;UserProfile_GUID&lt;/td&gt;&#xD;
&lt;td&gt;Id&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SID&lt;/td&gt;&#xD;
&lt;td&gt;SID&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;ADGuid&lt;/td&gt;&#xD;
&lt;td&gt;Active Directory ID&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;AccountName&lt;/td&gt;&#xD;
&lt;td&gt;帐户名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;FirstName&lt;/td&gt;&#xD;
&lt;td&gt;名字&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-PhoneticFirstName&lt;/td&gt;&#xD;
&lt;td&gt;拼音名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;LastName&lt;/td&gt;&#xD;
&lt;td&gt;姓氏&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-PhoneticLastName&lt;/td&gt;&#xD;
&lt;td&gt;拼音姓&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;PreferredName&lt;/td&gt;&#xD;
&lt;td&gt;名称&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-PhoneticDisplayName&lt;/td&gt;&#xD;
&lt;td&gt;拼音显示姓名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;WorkPhone&lt;/td&gt;&#xD;
&lt;td&gt;单位电话&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Department&lt;/td&gt;&#xD;
&lt;td&gt;部门&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Title&lt;/td&gt;&#xD;
&lt;td&gt;职务&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-JobTitle&lt;/td&gt;&#xD;
&lt;td&gt;职务&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Manager&lt;/td&gt;&#xD;
&lt;td&gt;经理&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;AboutMe&lt;/td&gt;&#xD;
&lt;td&gt;描述&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;PersonalSpace&lt;/td&gt;&#xD;
&lt;td&gt;个人网站&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;PictureURL&lt;/td&gt;&#xD;
&lt;td&gt;图片&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;UserName&lt;/td&gt;&#xD;
&lt;td&gt;用户名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;QuickLinks&lt;/td&gt;&#xD;
&lt;td&gt;快速链接&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;WebSite&lt;/td&gt;&#xD;
&lt;td&gt;网站&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;PublicSiteRedirect&lt;/td&gt;&#xD;
&lt;td&gt;公共网站重定向&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-DataSource&lt;/td&gt;&#xD;
&lt;td&gt;数据源&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-MemberOf&lt;/td&gt;&#xD;
&lt;td&gt;隶属于&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Dotted-line&lt;/td&gt;&#xD;
&lt;td&gt;非直属经理&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Peers&lt;/td&gt;&#xD;
&lt;td&gt;同级&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Responsibility&lt;/td&gt;&#xD;
&lt;td&gt;专业领域&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-SipAddress&lt;/td&gt;&#xD;
&lt;td&gt;SIP 地址&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-MySiteUpgrade&lt;/td&gt;&#xD;
&lt;td&gt;我的网站升级&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-DontSuggestList&lt;/td&gt;&#xD;
&lt;td&gt;&amp;#8220;不建议&amp;#8221;列表&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ProxyAddresses&lt;/td&gt;&#xD;
&lt;td&gt;代理服务器地址&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-HireDate&lt;/td&gt;&#xD;
&lt;td&gt;雇用日期&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-DisplayOrder&lt;/td&gt;&#xD;
&lt;td&gt;显示顺序&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ClaimID&lt;/td&gt;&#xD;
&lt;td&gt;声明用户标识符&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ClaimProviderID&lt;/td&gt;&#xD;
&lt;td&gt;声明提供程序标识符&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ClaimProviderType&lt;/td&gt;&#xD;
&lt;td&gt;声明提供程序类型&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-LastColleagueAdded&lt;/td&gt;&#xD;
&lt;td&gt;上一个添加的同事&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-OWAUrl&lt;/td&gt;&#xD;
&lt;td&gt;Outlook Web Access URL&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-SavedAccountName&lt;/td&gt;&#xD;
&lt;td&gt;保存的帐户名称&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-SavedSID&lt;/td&gt;&#xD;
&lt;td&gt;保存的 SID&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ResourceSID&lt;/td&gt;&#xD;
&lt;td&gt;资源林 SID&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ResourceAccountName&lt;/td&gt;&#xD;
&lt;td&gt;资源林帐户名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-ObjectExists&lt;/td&gt;&#xD;
&lt;td&gt;对象已存在&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-MasterAccountName&lt;/td&gt;&#xD;
&lt;td&gt;主帐户名&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-DistinguishedName&lt;/td&gt;&#xD;
&lt;td&gt;可分辨名称&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-SourceObjectDN&lt;/td&gt;&#xD;
&lt;td&gt;源对象可分辨名称&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-LastKeywordAdded&lt;/td&gt;&#xD;
&lt;td&gt;最新添加的关键字&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;WorkEmail&lt;/td&gt;&#xD;
&lt;td&gt;工作电子邮件&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;CellPhone&lt;/td&gt;&#xD;
&lt;td&gt;移动电话&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Fax&lt;/td&gt;&#xD;
&lt;td&gt;传真&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;HomePhone&lt;/td&gt;&#xD;
&lt;td&gt;住宅电话&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Office&lt;/td&gt;&#xD;
&lt;td&gt;办公室&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Location&lt;/td&gt;&#xD;
&lt;td&gt;办公地点&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-TimeZone&lt;/td&gt;&#xD;
&lt;td&gt;时区&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;Assistant&lt;/td&gt;&#xD;
&lt;td&gt;助手&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-PastProjects&lt;/td&gt;&#xD;
&lt;td&gt;过去参与的项目&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Skills&lt;/td&gt;&#xD;
&lt;td&gt;技能&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-School&lt;/td&gt;&#xD;
&lt;td&gt;学校&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Birthday&lt;/td&gt;&#xD;
&lt;td&gt;生日&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-StatusNotes&lt;/td&gt;&#xD;
&lt;td&gt;状态消息&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-Interests&lt;/td&gt;&#xD;
&lt;td&gt;兴趣&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;SPS-EmailOptin&lt;/td&gt;&#xD;
&lt;td&gt;电子邮件通知&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xD;
&lt;p&gt;Code&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;using (SPSite site = new SPSite("&lt;a href="http://moss2010/"&gt;http://moss2010/&lt;/a&gt;"))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPServiceContext context =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPServiceContext.GetContext(site);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserProfileManager m_mngr = new UserProfileManager(context);&lt;/p&gt;&#xD;
&lt;p&gt;//Get the properties&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PropertyCollection props = m_mngr.Properties;&lt;/p&gt;&#xD;
&lt;p&gt;//Create a Dictionary to store property data.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, string&amp;gt; UserProps = new Dictionary&amp;lt;string, string&amp;gt;();&lt;/p&gt;&#xD;
&lt;p&gt;foreach (Property prop in props)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserProps.Add(prop.Name, prop.DisplayName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Bind the Dictionary to a GridView control.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridView1.DataSource = UserProps;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridView1.Columns[0].HeaderText = "Property Name";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridView1.Columns[1].HeaderText = "Display Name";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridView1.DataBind();&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1926896.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926896.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926881.html</id><title type="text">ECMAScript Client OM(传说中的js客户端编程)</title><summary type="text">把这个aspx文件放在_layouts下面，直接通过js访问后台文件&amp;lt;%@ Page Language="C#" %&amp;gt;&amp;lt;%@ Register Tagprefix="SharePoint"  Namespace="Microsoft.SharePoint.WebControls"  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona</summary><published>2011-01-05T14:57:00Z</published><updated>2011-01-05T14:57:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926881.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926881.html"/><content type="html">&lt;p&gt;把这个aspx文件放在_layouts下面，直接通过js访问后台文件&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;%@ Page Language="C#" %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Tagprefix="SharePoint" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Namespace="Microsoft.SharePoint.WebControls" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "&lt;a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;ECMAScript Client OM&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function CallClientOM() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var context = new SP.ClientContext.get_current();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.website = context.get_web();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.listCollection = website.get_lists();&lt;/p&gt;&#xD;
&lt;p&gt;context.load(this.listCollection, 'Include(Title, Id)');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function onQuerySucceeded(sender, args) {&lt;/p&gt;&#xD;
&lt;p&gt;var listInfo = '';&lt;/p&gt;&#xD;
&lt;p&gt;var listEnumerator = listCollection.getEnumerator();&lt;/p&gt;&#xD;
&lt;p&gt;while (listEnumerator.moveNext()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var list = listEnumerator.get_current();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listInfo += 'List Title: ' + list.get_title() + ' ID: ' + list.get_id() + '\n';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(listInfo);&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;function onQueryFailed(sender, args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SharePoint:ScriptLink ID="ScriptLink1" Name="sp.debug.js" LoadAfterUI="true" Localizable="false" runat="server" /&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;lt;a href="#" onclick="CallClientOM()"&amp;gt;Click here to Execute&amp;lt;/a&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;SharePoint:FormDigest runat="server" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1926881.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/05/1926881.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2011/01/03/1924763.html</id><title type="text">自定义个性化 EditPeople控件</title><summary type="text">最近折腾SharePoint 2010 比较多，有些客户想定制EditPeople控件，有些领导感觉那个搜索不太“好”，希望能有一个树形选择就完美了哎，客户有要求，咱们哪里能不办？ 图1 图2图3代码 ：&amp;lt;script type="text/javascript" language="javascript"&amp;gt; /* * Validate User name */ function fetchUserName() { var buttonClientID = '&amp;lt;%=imgButtonCheckNames.ClientID%&amp;gt;'; var htmlButton = document.getEle</summary><published>2011-01-03T07:35:00Z</published><updated>2011-01-03T07:35:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/03/1924763.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2011/01/03/1924763.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最近折腾SharePoint 2010 比较多，有些客户想定制EditPeople控件，有些领导感觉那个搜索不太&amp;#8220;好&amp;#8221;，希望能有一个树形选择就完美了&lt;/p&gt;&#xD;
&lt;p&gt;哎，客户有要求，咱们哪里能不办？ &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图1&lt;!--StartFragment --&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;div&gt; &lt;/div&gt;&#xD;
&lt;p&gt;&lt;img style="width: 576px; height: 125px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/people.jpg" width="576" height="125" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图2&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 1008px; height: 583px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/people2.jpg" width="1008" height="583" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图3&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 744px; height: 559px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wanghao-3/peopletree.jpg" width="744" height="559" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;代码 ：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; Validate User name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function fetchUserName() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var buttonClientID = '&amp;lt;%=imgButtonCheckNames.ClientID%&amp;gt;';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var htmlButton = document.getElementById(buttonClientID);&lt;/p&gt;&#xD;
&lt;p&gt;if (htmlButton != null) {&amp;nbsp;&amp;nbsp; // if the html button found ..&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlButton.click();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function Callback_User(xml) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (xml == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlDoc.async = "false";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlDoc.loadXML(xml);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var txtUserName = document.getElementById('&amp;lt;%=txtUserName.ClientID&amp;nbsp; %&amp;gt;');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var node = xmlDoc.getElementsByTagName('Entity');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var userName = '';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (node != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (node[0].attributes.getNamedItem('Key') != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var userName = node[0].attributes.getNamedItem('Key').value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txtUserName.value = userName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function _Dialog_UserCheck(defaultSearch) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var txtUserName = document.getElementById('&amp;lt;%=txtUserName.ClientID %&amp;gt;');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ctl00$m$g_ab19aaaf_a004_4410_97b2_7974ffada0af$ctl00$txtUserName&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (txtUserName.disabled)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (defaultSearch == undefined)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultSearch = '';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var txtSiteName = document.getElementById('&amp;lt;%=hidSiteName.ClientID %&amp;gt;');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sDialogUrl = '\u002f' + txtSiteName.value + '\u002f_layouts\u002fPicker.aspx?MultiSelect=True\u0026CustomProperty=User\u00253B\u00253B15\u00253B\u00253B\u00253BFalse\u0026DialogTitle=\u0025E9\u002580\u002589\u0025E6\u00258B\u0025A9\u0025E4\u0025BA\u0025BA\u0025E5\u002591\u002598\u0026DialogImage=\u00252F\u00255Flayouts\u00252Fimages\u00252Fppeople\u00252Egif\u0026PickerDialogType=Microsoft\u00252ESharePoint\u00252EWebControls\u00252EPeoplePickerDialog\u00252C\u002520Microsoft\u00252ESharePoint\u00252C\u002520Version\u00253D14\u00252E0\u00252E0\u00252E0\u00252C\u002520Culture\u00253Dneutral\u00252C\u002520PublicKeyToken\u00253D71e9bce111e9429c\u0026ForceClaims=False\u0026DisableClaims=False\u0026EnabledClaimProviders=\u0026EntitySeparator=\u00253B\u0025EF\u0025BC\u00259B\u0025EF\u0025B9\u002594\u0025EF\u0025B8\u002594\u0025E2\u00258D\u0025AE\u0025E2\u002581\u00258F\u0025E1\u00258D\u0025A4\u0025D8\u00259B';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (txtSiteName.value == '') {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sDialogUrl = '\u002f_layouts\u002fPicker.aspx?MultiSelect=True\u0026CustomProperty=User\u00253B\u00253B15\u00253B\u00253B\u00253BFalse\u0026DialogTitle=\u0025E9\u002580\u002589\u0025E6\u00258B\u0025A9\u0025E4\u0025BA\u0025BA\u0025E5\u002591\u002598\u0026DialogImage=\u00252F\u00255Flayouts\u00252Fimages\u00252Fppeople\u00252Egif\u0026PickerDialogType=Microsoft\u00252ESharePoint\u00252EWebControls\u00252EPeoplePickerDialog\u00252C\u002520Microsoft\u00252ESharePoint\u00252C\u002520Version\u00253D14\u00252E0\u00252E0\u00252E0\u00252C\u002520Culture\u00253Dneutral\u00252C\u002520PublicKeyToken\u00253D71e9bce111e9429c\u0026ForceClaims=False\u0026DisableClaims=False\u0026EnabledClaimProviders=\u0026EntitySeparator=\u00253B\u0025EF\u0025BC\u00259B\u0025EF\u0025B9\u002594\u0025EF\u0025B8\u002594\u0025E2\u00258D\u0025AE\u0025E2\u002581\u00258F\u0025E1\u00258D\u0025A4\u0025D8\u00259B';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sDialogUrl = sDialogUrl + '&amp;amp;DefaultSearch=' + escapeProperly(defaultSearch);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //sDialogUrl = "/_layouts/CustomPeopleEditor/CheckUsesr.aspx?IsDlg=1";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sFeatures = 'resizable=yes,status=no,scrollbars=no,menubar=no,directories=no,location=no,width=470,height=530px';&lt;/p&gt;&#xD;
&lt;p&gt;var rv = commonShowModalDialog(sDialogUrl, sFeatures, Callback_User);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果我们把 sDialogUrl = sDialogUrl + '&amp;amp;DefaultSearch=' + escapeProperly(defaultSearch);&lt;/p&gt;&#xD;
&lt;p&gt;换成&amp;nbsp;&amp;nbsp;sDialogUrl =&lt;span style="color: red"&gt; "/_layouts/CustomPeopleEditor/CheckUsesr.aspx?IsDlg=1"; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;就会调出我们自己写的treeview控件&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: red"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;首先动态调用_Dialog_UserCheck 这个函数，然后根据Callback_User回写value&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;当然要完美实现这一应用，可能还需要额外的代码，作为Demo代码可能已经够了，核心函数都在这里&amp;#183;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1924763.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2011/01/03/1924763.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2010/12/26/1917300.html</id><title type="text">使用SharePoint Management PowerShell来完成对SharePoint的操作</title><summary type="text">用户可以使用SharePoint Management PowerShell来完成对SharePoint的操作了。　　这里我们以site的Import和Export作例子，来简单介绍怎么用PowerShell完成上述操作。我们知道，我们在对Site作backup和restore时，有2种选择，一种是直接用Backup，restore命令，这样是对整个site collection作备份还原操作，然而当我们只是备份还原某个site或者是某个list的时候，Import和Export成了我们的选择。　　首先将源site 作export，在PowerShell窗口输入以下是代码片段：Export-S</summary><published>2010-12-26T10:11:00Z</published><updated>2010-12-26T10:11:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2010/12/26/1917300.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2010/12/26/1917300.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;用户可以使用SharePoint Management PowerShell来完成对SharePoint的操作了。&lt;/p&gt;&#xD;
&lt;p&gt;这里我们以site的Import和Export作例子，来简单介绍怎么用PowerShell完成上述操作。我们知道，我们在对Site作backup和restore时，有2种选择，一种是直接用Backup，restore命令，这样是对整个site collection作备份还原操作，然而当我们只是备份还原某个site或者是某个list的时候，Import和Export成了我们的选择。&lt;/p&gt;&#xD;
&lt;p&gt;首先将源site 作export，在PowerShell窗口输入&lt;/p&gt;&#xD;
&lt;p&gt;以下是代码片段：&lt;br /&gt;Export-SPWeb &lt;a href="http://aa/"&gt;http://aa/&lt;/a&gt; targetsite url &amp;#8211;Path "//192.168.1.100/aa/moss2010.cmp&amp;#8221; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;Import-SPWeb &lt;a href="http://aa1/"&gt;http://aa1/&lt;/a&gt;&amp;nbsp; &amp;#8211;path C:\aa\moss2010.cmp &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;完成site的import。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1917300.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2010/12/26/1917300.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2010/11/30/1892444.html</id><title type="text">Developer Dashboard 排忧解难！！！</title><summary type="text">描述：　　 今天在客户现场遇到一个怪异的问题，SharePoint 2010 首页突然访问奇慢无比呀（其他站点正常），可是昨天晚上还是好好的嘛，今天又要给领导汇报，给我急得啊，愁死我了。。感觉是那个webpart 出问题了，可是以前都是好好的呀，初步排查应该是首页那个webpart的访问数据有问题，导致的情况，首页无非是，内容查询 ，内容编辑 EXCEL相关webpart 为了搞清楚 具体是那个w...</summary><published>2010-11-30T13:21:00Z</published><updated>2010-11-30T13:21:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2010/11/30/1892444.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2010/11/30/1892444.html"/><content type="html">&lt;p&gt;描述：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;今天在客户现场遇到一个怪异的问题，SharePoint 2010 首页突然访问奇慢无比呀（其他站点正常），可是昨天晚上还是好好的嘛，今天又要给领导汇报，给我急得啊，愁死我了。。&lt;/p&gt;&#xD;
&lt;p&gt;感觉是那个webpart 出问题了，可是以前都是好好的呀，初步排查应该是首页那个webpart的访问数据有问题，导致的情况，&lt;/p&gt;&#xD;
&lt;p&gt;首页无非是，内容查询 ，内容编辑 EXCEL相关webpart 为了搞清楚 具体是那个webpart 导致我的首页奇慢无比嘛~~~&lt;/p&gt;&#xD;
&lt;p&gt;百思不得其解中，突然想起来SharePoint2010 自带了 Developer 仪表盘 来分析网站的执行情况。（开启服务后，豁然开朗。。。。）&lt;/p&gt;&#xD;
&lt;p&gt;2种方法：&lt;/p&gt;&#xD;
&lt;p&gt;Code：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #2b91af"&gt;&lt;span style="font-size: 10pt"&gt;SPPerformanceMonitor&lt;span style="color: #333333"&gt;&amp;nbsp;perfmon =&amp;nbsp;&lt;span style="color: #2b91af"&gt;SPFarm&lt;span style="color: #333333"&gt;.Local.PerformanceMonitor;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333"&gt;&lt;span style="font-size: 10pt"&gt;perfmon.DeveloperDashboardLevel =&amp;nbsp;&lt;span style="color: #2b91af"&gt;SPPerformanceMonitoringLevel&lt;span style="color: #333333"&gt;.On;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;perfmon.Update();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;cmd:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;STSADM&amp;nbsp;&amp;#8211;o setproperty &amp;#8211;pn developer-dashboard &amp;#8211;pv on(or "on" or "off")&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;使用 SPMonitoredScope&amp;nbsp; 监控你的代码 具体情况 &lt;/p&gt;&#xD;
&lt;p&gt;使用SPMonitoredScope可以很方便的将某段代码的相关性能信息输出到Developer Dashboard中。使用SPMonitoredScope很简单，首先声明一个SPMonitoredScope的实例并赋予一个可以追踪的名字，将需要Track的代码写入即可。例如，下边的代码演示了插入一个列表项： &lt;/p&gt;&#xD;
&lt;p&gt;using (SPMonitoredScope monitoredScope = new SPMonitoredScope("My Monitored Scope")) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;// put code to monitor performance on here &lt;/p&gt;&#xD;
&lt;p&gt;SPList testList = site.Lists.TryGetList("Test List"); &lt;/p&gt;&#xD;
&lt;p&gt;if (testList != null) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;SPListItem listItem = testList.Items.Add(); &lt;/p&gt;&#xD;
&lt;p&gt;listItem["Title"] = string.Format("Test Item {0}", Guid.NewGuid().ToString()); &lt;/p&gt;&#xD;
&lt;p&gt;listItem["City"] = "Somewhere"; &lt;/p&gt;&#xD;
&lt;p&gt;listItem["Quantity"] = 3; &lt;/p&gt;&#xD;
&lt;p&gt;listItem.Update(); &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在SPMonitoredScope中你还可以嵌套使用SPMonitoredScope对象以更详细的监控尽可能小的代码段来分析器性能。 &lt;/p&gt;&#xD;
&lt;p&gt;using (SPMonitoredScope monitoredScope = new SPMonitoredScope("My Monitored Scope")) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;SPList testList; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;using (SPMonitoredScope getListMonitor = new SPMonitoredScope("Get List")) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;testList = site.Lists.TryGetList("Test List"); &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;using (SPMonitoredScope addListItemMonitor = new SPMonitoredScope("Add List Item")) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;if (testList != null) &lt;/p&gt;&#xD;
&lt;p&gt;{ &lt;/p&gt;&#xD;
&lt;p&gt;SPListItem listItem = testList.Items.Add(); &lt;/p&gt;&#xD;
&lt;p&gt;listItem["Title"] = string.Format("Test Item {0}", Guid.NewGuid().ToString()); &lt;/p&gt;&#xD;
&lt;p&gt;listItem["City"] = "Somewhere"; &lt;/p&gt;&#xD;
&lt;p&gt;listItem["Quantity"] = 3; &lt;/p&gt;&#xD;
&lt;p&gt;listItem.Update(); &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;} &lt;/p&gt;&#xD;
&lt;p&gt;}&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;正如期望的，我们在My Monitored Scope中看到了更为详细的监控段Get List和Add List Item。这样就能很清楚的看到每个代码段的性能情况。 &lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #333333; font-size: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1892444.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2010/11/30/1892444.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wanghao-3/archive/2010/11/10/1873818.html</id><title type="text">使用SharePoint 人员选择控件 在 WEB APP开发</title><summary type="text">首先 引用名字空间呗&amp;lt;%@ Register Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;然后在页面...</summary><published>2010-11-10T07:36:00Z</published><updated>2010-11-10T07:36:00Z</updated><author><name>A   A</name><uri>http://www.cnblogs.com/wanghao-3/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wanghao-3/archive/2010/11/10/1873818.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wanghao-3/archive/2010/11/10/1873818.html"/><content type="html">&lt;p&gt;首先 引用名字空间呗&lt;/p&gt;&#xD;
&lt;div style="background-color: #ffff99"  yellow? mso-highlight: yellow; BACKGROUND:&gt;&amp;lt;%@&lt;/span&gt; &lt;span style="color: #c00000"&gt;Register&lt;/span&gt; &lt;span style="color: red"&gt;Tagprefix&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;wssawc&lt;/span&gt;" &lt;span style="color: red"&gt;Namespace&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;Microsoft.SharePoint.WebControls&lt;/span&gt;" &lt;span style="color: red"&gt;Assembly&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" &lt;span style="background: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;然后在页面上面添加 &lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #943634"&gt;wssawc:PeopleEditor&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;AllowEmpty&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;false&lt;/span&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;ValidatorEnabled&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;true&lt;/span&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;id&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;userPicker&lt;/span&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;runat&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;server&lt;/span&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;ShowCreateButtonInActiveDirectoryAccountCreationMode&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;true&lt;/span&gt;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red"&gt;SelectionSet&lt;/span&gt;="&lt;span style="color: #0070c0"&gt;User&lt;/span&gt;" &lt;span style="color: #0070c0"&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;进入后台页面&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #0070c0"&gt;&lt;span style="color: #0070c0"&gt;using&lt;/span&gt; &lt;/span&gt;Microsoft.SharePoint.WebControls; &lt;br /&gt;&lt;span style="color: #0070c0"&gt;&lt;span style="color: #0070c0"&gt;public&lt;/span&gt; &lt;/span&gt;&lt;span style="color: #31849b"&gt;class &lt;/span&gt;MyPageName : &lt;span style="color: #31849b"&gt;Page&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected &lt;span style="color: #31849b"&gt;PeopleEditor&lt;/span&gt; &lt;strong&gt;userPicker;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最后通过 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #0070c0"&gt;public&lt;/span&gt; void btnSave_Click(&lt;span style="color: #0070c0"&gt;object&lt;/span&gt; sender, System.&lt;span style="color: #31849b"&gt;EventArgs&lt;/span&gt; e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #31849b"&gt;PickerEntity&lt;/span&gt; pe = (&lt;span style="color: #31849b"&gt;PickerEntity&lt;/span&gt;)userPicker.Entities[0];&amp;nbsp;&lt;span style="color: #00b050"&gt;//gets first user in list&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0070c0"&gt;string&lt;/span&gt; username = pe.Description;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;&lt;br /&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;来获取 value&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wanghao-3/aggbug/1873818.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wanghao-3/archive/2010/11/10/1873818.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
