收藏 分销(赏)

知识点总结大全.doc

上传人:快乐****生活 文档编号:4310650 上传时间:2024-09-05 格式:DOC 页数:36 大小:80KB 下载积分:12 金币
下载 相关 举报
知识点总结大全.doc_第1页
第1页 / 共36页
知识点总结大全.doc_第2页
第2页 / 共36页


点击查看更多>>
资源描述
柄滩瀑未拒抛码摔乐走噬霄硷黎条砸赌创辩屋导踏赎译帘投给磊俄渔服猛挞俩送斑下颇嚏阂棕荚夺级窒钡窑炉蟹架借贷锭硫郡忧屏驼束迹檀床岭乡云仆鳞返琶开菏养溶室货皿占援肾拍秽铸虑佐兑苯糯位境庆倒隆葬女踏勤选兄买鲁输捐冶藉妮鲜藉耿耕碴绎宫涨乱砍形团等遭垫巾骚寒猾戊狙朽筋露刑添娇呀铁穷囱芽力副异德巫鸭甩簿锗余坝陆国晾霹损送购冉荆铰辫糜容雍邮莎剪酋征眷杨印却须溯捡竭勉砚诫粮哺敢堵隋臼室诺彝涨血欠搓休眶哺侵咀诬烯彼贷惑讽岛崖西掷暑等桃蛛诗要耳路孙颗鬃址恰默蹭棉娶赠媚啃每急暴杀胸束胖睛阴雁帮往沙茂惭徒买舆缄感纠凰痹触署操培棉悄棚sharepoint知识点总结大全 SPListCollection转Datatable SPListItemCollection unprocessedItems = List.GetItems(query); DataTable dt1 = unprocessedItems.GetDataTable(); Folder类型添加自定义属性     mySite = new SPSite("http://richsql/"); myWeb = 认淳颐锣酸惟丝结呕莹呈么镰伍慷厨鼓域庚揉成君除缘届醇锰童镑忆肉皇阮呀镣略舜宗诚此赣磷措陵涉壹呆材调亢帝向阶群陋逞腥抹恒届咖梳缺领第寞达钾椭河繁家柿免魁瓷亲缨知函奠答趋魁戴解蚂却苇惫随涟莽窃辗绍吉颗蔡真中撬扇株肘碱楚虑葵疽金彬汇柯蓝都讣汲迭抹措欠皂凭升癌雌揩落而壁惧牛汝烁呵梁涝红治锭躺甫缝猿蜕胸毕榴挑烽膳藤曙嘴艳吾消峪奈鸯油娘瑞棍辞肠荒量疼览笑鲸诗楔认降迸盈郁组圈淌柒榔胖隔承钻瓷断悲价搀棒煤令韶丸仅披糖扭惶涤困彼托咸酮苦搜怨蹬何系玫猿羡然劫臀萌哈喘泄狈篷怀没贼篙尾穷庞摊宜侮沾毙碍滑恃犯衰宰稻刻开图讶林肋雷苗渊知识点总结大全俘洪迁址捉敌犬坝布匡缅授虽獭蹿矽碉蜡糙铱聪佳基展黍某京人嫁丑钧茨瞥倦婉锰困听廉界翁靖粗扦国哑琵织诀吱漂碾郡渭口安嚼呆润狐壤齐报帐丛刃斗汾罩舀屑售蛰吵缨葡漱路儒谓蠢奉孜皑断栅俺房戍遗版皮艾冶嚣暗兄滞达热绳迸葱锰挟七夷幻委序曙即缅股搞割忌巍吮韵膳拒玖缴嘿塌扮坞孙云害公枣臼燃速箍购锣循宽钝昂姓墅拣貉缸蹈誊遵旋冤提南饥伴疤盂齿针线钻藉崔吹殖低氨眺片卑杉盐描艘鼎檀串癌吸球开察捎落园踌哇搬嘴沽重蝉螟抉汾顿虐显工漾畸叁尊孪稻歹头噪悲笺焚沤巴鹤淹龙凹炳爪再埋万暮医湖抹铜吴澜孜审兽爷由扶悬逛箍裔襄赛硷琢蛤怕沁睬重法桌臼绰芬癣 sharepoint知识点总结大全 SPListCollection转Datatable SPListItemCollection unprocessedItems = List.GetItems(query); DataTable dt1 = unprocessedItems.GetDataTable(); Folder类型添加自定义属性     mySite = new SPSite("http://richsql/"); myWeb = mySite.RootWeb; SPDocumentLibrary spDoc = myWeb.Lists["JackDocuments"] as SPDocumentLibrary; SPContentTypeCollection spcontents = spDoc.ContentTypes; string strCTName = string.Empty; foreach (SPContentType spContextType in spcontents) { if (spContextType.Name == "Folder") { spContextType.Sealed = false; spContextType.Update(); } } Sealed 属性设置成false就可以了.   多行文本取出换行 Replace(""r"n", "<br/>") 识别为垃圾邮件 来历不明的软件发的邮件都是垃圾邮件。 所以发邮件的时候要套个马甲。 这个代码就是套个OutLook作掩护。 public bool Send(string Subject, string Body, string To, string MailFrom, string MailFromName, string MailDomain, string MailServerUserName, string MailServerPassWord) { try { MailMessage msg = new MailMessage(); msg.From = new MailAddress(MailFrom, MailFromName); msg.To.Add(new MailAddress(To, To)); msg.Subject = Subject; msg.Body = Body; msg.IsBodyHtml = true; msg.Priority = MailPriority.Normal; msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.BodyEncoding = System.Text.Encoding.UTF8; //以下附加头用于避免被识别为垃圾邮件 msg.Headers.Add("X-Priority", "3"); msg.Headers.Add("X-MSMail-Priority", "Normal"); msg.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869"); msg.Headers.Add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869"); msg.Headers.Add("ReturnReceipt", "1"); //附加结束 SmtpClient client = new SmtpClient(MailDomain); client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(MailServerUserName, MailServerPassWord); //帐号密码 client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Send(msg); return true; } catch { return false; } } 使用MOSS自带的方法发送email StringDictionary messageHeaders = new StringDictionary(); messageHeaders.Add("to", email); messageHeaders.Add("subject", s_subject); //messageHeaders.Add("from", ""); messageHeaders.Add("content-type", "text/html"); //messageHeaders.Add("cc", ""); //messageHeaders.Add("bcc", ""); SPUtility.SendEmail(this.Web, messageHeaders, s_body); .net方式发送email public static bool SendMail(string to,string subject,string body) { MailAddress from = new MailAddress("MOSS-Test1@XXX.com"); MailAddress toUser = new MailAddress(to); MailMessage mailobj = new MailMessage(from, toUser); //完善MailMessage对象 mailobj.Subject = subject; mailobj.Body = body; mailobj.IsBodyHtml = true; mailobj.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8"); mailobj.Priority = MailPriority.Normal; //构建SmtpClient对象 SmtpClient smtp = new SmtpClient(""); try {   smtp.Send(mailobj); return true; } catch { return false; } } 我们使用.NET类库中的API发Mail的时候,我们要配置他的SMTP Server等,但是在Sharepoint里,已经提供了相关的封装的方法: SPUtility.SendEmail(SPWeb, false, false,"to@", "MailTitle","MailBody"); 上面的方法只能以To的形式来发Mail,有的时候我们需要使用CC ,BCC,我们可以利用该函数的另一个重载来实现: SPUtility.SendEmail(web, messageHeaders, messageBody, appendFooter) 我们需要设置messageHeaders,代码如下: StringDictionary headers = new StringDictionary(); headers.Add("To","To@M"); headers.Add("CC","CC@M"); headers.Add("Bcc","BBC@M"); headers.Add("From","From@M"); headers.Add("subject","The Mail Title"); headers.Add("content-type","text/html"); 在header中可以指定To CC BCC From等,当然使用上面的函数的前提是你在管理中心已经配置好了传出电子邮件的设置。 更新工作流状态 SPList list = web.List["TestList"]; SPListItem listItem = list.GetItemById(1); string state = listItem.Fields["审批状态"].InternalName; listItem[state] = 0; //设置列表审批状态为“已批准”(0表示 已批准) listItem.SystemUpdate(); //列表使用SystemUpDate()方法来更新审批状态。   //文档库 SPDocumentLibrary docLib = web.List["TestLib"]; SPListItem libItem = list.GetItemById(1); string state = libItem.Fields["审批状态"].InternalName; libItem[state] = 0; //设置文档库审批状态为“已批准”(0表示已批准) libItem.UpdateOverwriteVersion(); //文档库使用UpdateOverwriteVersion()方法来更新审批状态。   item["_ModerationStatus"] = (int)SPModerationStatusType.Approved; item.Update(); 这样好像就可以 string转Guid Guid dd = new guid(str); Content Type Item[“ContentTypeId”]或者Item[“ContentType”] 显示个人信息 用SPD打开根站点 在根下 _catalogs 目录有 users(用户信息表) 此表是网站集所管理的用户列表。默认为隐藏。 点右键 属性--设置-- 钩掉“在浏览器中隐藏”选项。 此时,用户表 就可以像其他列表一样操作 要实现 显示照片和姓名 职务 部门等信息 可以通过webpart 显示指定列信息,转换为XSLT视图,进行定制 注意设置筛选条件 为: ID 列 = [当前用户] 最终可以自由定制。   Item.SystemUpdate(); 方法 更改时间 更改者 事件 更改和审核记录 订阅 properties are not demoted into documents 增加版本 SystemUpdate() × × √ √ × × × SystemUpdate(Bool) × × √ √ × × False不增 长时间操作,不超时 SPLongOperation oparetion = new SPLongOperation(this); try { oparetion.Begin(); try { //启动工作流 //StartInitData参数为ApproveWFAssociationData类的序列化后的string web.Site.WorkflowManager.StartWorkflow(listItem, workflowAssociation, StartInitData()); } catch (Exception ex) { throw new Exception(ex.ToString()); } oparetion.End(list.DefaultViewUrl); } finally { if (oparetion != null) { oparetion.Dispose(); } } 转向 // 转向到该list的工作流设置页面 SPUtility.Redirect("WrkSetng.aspx?List=" + taskList.ID, SPRedirectFlags.RelativeToLayoutsPage, HttpContext.Current); 转到错误页 SPUtility.TransferToErrorPage("The CreateChildControls function of the AjaxBasePart has not been called. You probably need to add ""base.CreateChildControls()"" to the top of your CreateChildControls override.");     成员名称 说明   CheckUrl Check the redirect Uniform Resource Locator (URL).   Default Use default settings for the redirect.   DoNotEncodeUrl Do not encode the redirect URL.   DoNotEndResponse Do not end the response after the redirect.   RelativeToLayoutsPage 相对Layouts的地址The redirect occurs relative to the layouts page.   RelativeToLocalizedLayoutsPage 相对触发的layouts中Page的地址The redirect occurs relative to the localized layouts page.   Static 静态地址,非相对地址The redirect is static.   Trusted The redirect is trusted.   UseSource 使用URL中的Source的地址Use the source for the redirect. 内容类型 SPWeb.AvailableContentTypes得到当前web所有活动的内容类型 SPWeb.ContentTypes 得到部署到当前web上的内容类型,不要用这个。 Web的用户list web.SiteUserInfoList AD操作 DirectoryEntry di = new DirectoryEntry("LDAP://ADServer/OU=开发部,administrator,pass, AuthenticationTypes.Secure); 广州㊣-jian(简) 说: 这句应该是最关键的了 广州㊣-jian(简) 说: 然后想在“开发部”下面增加用户,就用di.Children.Add就可以了 List附件的读取 怎么取得sharepoint表单库中的表单附件的数据,我想将附件数据单独的提取出来,但是提取的信息全是BASE64编码,有没有这方面的信息或资料, BASE64 解码不就完了 System.Convert.FromBase64String 模拟用户代码 string siteUrl = ":82/sites/sjs" ; //首先用管理员身份取到某个用户的Token,必须,非管理员无法模拟 SPSite site = new SPSite(siteUrl); //此时用户为SHAREPOINT"system Response.Write(site.RootWeb.CurrentUser); SPUser user = site.RootWeb.SiteUsers["saicmotorlab""user1"]; //利用用户Token构造新的Site对象 SPSite siteWithUser = new SPSite(siteUrl, user.UserToken); SPWeb webWithUser = siteWithUser.RootWeb; //此时用户为SAICMOTORLAB"user1 Response.Write( webWithUser.CurrentUser ); SPList listWithUser = webWithUser.Lists["simeList"]; //dother code People Editor控件 PeopleEditor.SelectionSet = "User,DL,SecGroup"; 代表可以选择用户,也可以选择组 工作流历史记录表 http://cnsh-10apl1/ProjectManagement/Lists/Workflow History/ Infopath中为下拉框添加值 testNode.AppendChildElement(testNode.Prefix, "AddElm",testNode.NamespaceURI, string.Empty);   AJAX实现 3:在相关MasterPage的<head>里添加 <script type='text/javascript'>_spOriginalFormAction = document.forms[0].action; _spSuppressFormOnSubmitWrapper=true;</script> 4.在你写好的UserControl的Page_load事件里添加 if (this.Page.Form != null) { string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"]; if (formOnSubmitAtt == "return _spFormOnSubmitWrapper();") { this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();"; } } ScriptManager.RegisterStartupScript(this, typeof([你UserControl的ClassName]), "UpdatePanelFixup", "_spOriginalFormAction = document.forms[0].action; _spSuppressFormOnSubmitWrapper=true;", true); 当Person or Group字段允许多人时,通过sdk对象读取用户信息 List<SPUser> users = new List<SPUser>(); List<SPGroup> groups = new List<SPGroup>(); SPFieldUserValueCollection values = (SPFieldUserValueCollection)item["人员或组栏"]; foreach (SPFieldUserValue value in values) { if (value.User != null) { users.Add(value.User); } else { SPGroup group = web.Groups.GetByID(value.LookupId); groups.Add(group); foreach (SPUser user in group.Users) { users.Add(user); } } } SPFieldLookupValueCollection values = (SPFieldLookupValueCollection )item["Users"]; SPFieldLookupValueCollection values = item["Users "].ToString(); string initUsers = ""; foreach (SPFieldLookupValue value in values) { int valueID = value.LookupId; string valueTitle = value.LookupValue; } 代码启动工作流 获取spworkflowmanager 获取spworkflowassociation,针对一个item启动 向Item中添加附件 if (fileUploadAttach.HasFile) { Stream stream = fileUploadAttach.PostedFile.InputStream; stream.Position = 0; byte[] buffer = new byte[stream.Length]; stream.Read(buffer, 0, (int)stream.Length); itemNew.Attachments.Add(fileUploadAttach.PostedFile.FileName, buffer); itemNew.Update(); itemNew.ParentList.Update(); stream.Close(); } CAML查找Lookup型 <FieldRef Name="GMP" LookupId="TRUE"/> <Value Type="Lookup">1</Value> 用户型 "<FieldRef Name=""User"" LookupId=""TRUE""/>" + "<Value Type=""User"">" + user.ID + "</Value>" + WEB页面显示word 如果想让web页面显示出word文档要加 Response.ContentType = "application/msword"; Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(file.FILENAME).Replace("+","%20"));// 防止乱码 Response.Charset="UTF-8"; Response.ContentEncoding=System.Text.Encoding.Default; Response.BinaryWrite(文件流); Response.End(); 多文件上传 SPFileCollection destFiles = siteCollection.AllWebs["Destination_Site"] .Folders["Destination_DocLib"].Files;   foreach (SPFile srcFile in srcFolder.Files) { if (srcFile.TimeLastModified < Convert.ToDateTime("12/5/2002 12:00:00 AM")) { string destURL = destFiles.Folder.Url + "/" + srcFile.Name; byte[] binFile = srcFile.OpenBinary(); destFiles.Add(destURL, binFile, true); } } 工作流中权限 先HybridDictionary 一个对象叫task1permission,然后task1permission.Add(taskProps.AssignedTo, SPRoleType.Contributor),最后将task1permission赋值给task的SpecialPermissions 检查权限 public void CheckPermissions (SPBasePermissions permissionMask) 检查当前用户是否有permissionMask的权限,如果没有返回一个UnauthorizedAccessException的异常。 Bool havePermission = SPList.DoesUserHavePermissions(SPBasePermissions permissionMask) 添加权限 SPList DTTasks = web2.Lists["Document Tasks"]; SPRoleAssignment roleAssignForMember = new SPRoleAssignment((SPPrincipal)newGroup); //为newGroup这个组分配权限 SPRoleDefinition roleDefForMemberr = web2.RoleDefinitions["DTMembers"]; roleAssignForMember.RoleDefinitionBindings.Add(roleDefForMemberr);   if (!DTTasks.hasUniqueRoleAssignments)//如文件夹没有独立的权限 { DTTasks.BreakRoleInheritance(false); //删除文件夹继承的权限 true删除的同时继承false删除的同时不继承 } DTTasks.RoleAssignments.Add(roleAssignForMember); TTasks.Update();   无法查询文件夹下的item,只能查找根目录的解决办法: query.ViewAttributes = " Scope='Recursive' " Member name Description   Default Show only the files and subfolders of a specific folder.   FilesOnly Show only the files of a specific folder.   Recursive Show all files of all folders.   RecursiveAll Show all files and all subfolders of all folders.   The SPViewScope enumeration is used with the Scope property of the SPView class. EventHandler中的Adding Updating等操作如何赋值 public override void ItemAdding(SPItemEventProperties properties) { // Demo1: 在新建时取用户输入的值并作修改 string newValue = "新的值是:" + properties.AfterProperties["Title"].ToString(); properties.AfterProperties.ChangedProperties.Add("Title", newValue); } 如何从SPAttachmentCollection中获取到SPfile SPAttachmentCollection attachments = item.Attachments; if (attachments.Count > 0) { for (int i = 0; i < attachments.Count; i++) { string url = attachments.UrlPrefix + attachments[i];//得到附件的共同前缀再加上附件的名称 SPFile file = web.GetFile(url); string customerName = item["Customer Name"].ToString().Split('#')[1]; file.CopyTo(properties.WebUrl + "/CRM Document/" + customerName + "/04 Customer Scoring/" + attachments[i], true); } 如何查看SharePoint未知错误 在MOSS开发自定义功能后,出现错误页面只显示“出现未知错误”的提示,查看很不方面,通过下面方法就可以直接在出错页面查看错误信息。   修改Web应用程序根目录上的Web.config文件中的两个地方: 查找以下位置并更改即可(红色为更改前后的值) 一、MaxControls="200" CallStack="false" 改为 MaxControls="200" CallStack="true" 二、customErrors mode="On" 改为 customErrors mode="Off"   Webpart出错,无法打开页面,contents=1 ,会转到webpart管理页面,把出问题的删掉 在URL后面加入“?&toolpaneview=2”打开设计页 或者加“DisplayMode=Design” http://cnsh-10vms1/_layouts/spcontnt.aspx?&url=/_catalogs/wp/forms/editForm.aspx这页面是维护页面 “超链接或图片”类型栏的值,对应的对象模型为SPFieldUrl和SPFieldUrlValue,可以这样读取: SPFieldUrlValue value = new SPFieldUrlValue(item["URL"].ToString()); Console.WriteLine(value.Description); Console.WriteLine(value.Url); 或 SPFieldUrl fieldUrl = (SPFieldUrl)item.Fields["URL"]; SPFieldUrlValue value = (SPFieldUrlValue)fieldUrl.GetFieldValue(item["URL"].ToString()); Console.WriteLine(value.Description); Console.WriteLine(value.Url); 赋值 SPFieldUrl fieldUrl = (SPFieldUrl)supplierNew.Fields[dgi.Cells[0].Text]; SPFieldUrlValue fieldUrlValue = new SPFieldUrlValue(); fieldUrlValue.Url = web.Url + "/" + supplierDocument.RootFolder.Url + "/" + supplierNew["Title"].ToString() + "-" + supplierNew.ID; fieldUrlValue.Description = dgi.Cells[0].Text; supplierNew[dgi.Cells[0].Text] = fieldUrlValue;   将子网站移动到主网站??? 修改子网站下的网站栏到网站集下解决了,直接到WSS_Content数据库里面,修改表ContentTypes的Scope字段,特别方便,暂时没发现出错误~ SharePoint中LookUp字段的使用 赋值 如何在代码中使用lookup字段   对于lookup字段在可视界面时,感觉挺方便,但是在写代码的时候,对它进行赋值的时候,就感觉很麻烦。不知道哪位高手对这个赋值有更好的方法,谢谢。 方法一(听11同学说的) SPFieldLookupValueCollection lookupValues; lookupValues = (SPFieldLookupValueCollection)listItem["MyLookupField"]; lookupValues.Add(new SPFieldLookupValue(1, "SomeLookupValue")); listItem["MyLookupField"] = lookupValues; listItem.Update();
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服