随笔分类 -  SharePoint

摘要:做SharePoint开发这两年来,InfoPath使用的频率颇高,用InfoPath来填写数据,查询数据等非常方便,并且InfoPath还可以承载代码,使得它在SharePoint的开发中大有作为,但是代码只有开发人员才懂写,对于一般的管理人员来说实在有点难,前不久,学到了一招,今天特来做个笔记,可以不使用代码将InfoPath中的数据提交到列表,具体方法如下:首先,需要建立一个待提交数据的列表,我建了一个名为“Reporting Data”的列表,然后给其新建了3栏,具体结构如下:然后我用记事本新建了一个名为“添加新项目”的XML文档,当中的字段名和列表中字段名的Internal Name 阅读全文
posted @ 2011-12-02 17:57 Statmoon 阅读(2500) 评论(30) 推荐(0)
摘要:以前开发了一个WebPart,部署在了我个人服务器的某一个网站集上面,今天另外一个项目也需要用到该WebPart,但是要做一点点的更改,于是就用VS打开了以前的项目文件,三两下改完了,然后习惯性的直接去部署了,然后出现了一个错误提示:部署步骤“添加解决方案”中出现错误: 已在此服务器场中安装 ID 为 735efe4e-8b50-4310-b588-c6ae2ba0759f 的功能。请使用强制属性显式地重新安装此功能。看到这个,忽然想起来这个WebPart以前部署过,太粗心了,于是就试着采用强制部署,打开CMD命令,输入了如下一串:stsadm -o deploysolution -name 阅读全文
posted @ 2011-12-01 16:05 Statmoon 阅读(2731) 评论(0) 推荐(0)
摘要:近段时间由于一些需求需要给User Profile增加几个属性,增加属性固然简单,直接增加就可以了,可是今天就出现了一个问题,当在管理中心点击管理用户属性的时候出现了如下的错误:未找到文件,就这样看错误确实不知道是什么问题,直接打开SharePoint的Log日志看了一下,具体错误如下:System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.ResourceManagement, Version=4.0.2450.34, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统 阅读全文
posted @ 2011-11-21 15:39 Statmoon 阅读(1604) 评论(0) 推荐(0)
摘要:有的时候用户会提出一些需求,例如想在一个网站中一个比较显眼的位置修改自己的信息,这时我们往往需要做一个WebPart来给用户修改,这个WebPart的主要功能就是获取当前用户的UserProfile信息,然后提供一些可以编辑的信息给用户自己编辑并保存回UserProfile,怎么读取UserProfile呢?读取UserProfile需要提升用户权限,主要代码如下:View Code 1 SPSecurity.RunWithElevatedPrivileges(delegate 2 { 3 using (SPSite m... 阅读全文
posted @ 2011-09-05 17:37 Statmoon 阅读(1719) 评论(0) 推荐(0)
摘要:今天下午突然出现了一个奇怪的现象,就是SharePoint开发的系统主页上面的一些用于显示信息的WebPart(当前网站集中的列表WebPart)出现了无法显示的错误,但是另外一部分又显示正常,于是去查了一下SharePoint的Log日志,上面显示:09/05/2011 15:07:21.33 w3wp.exe (0x1910) 0x2194SharePoint Foundation Web Parts 89a1High Error while executing web part: System.InvalidProgramException: 公共语言运行时检测到无效的程序。在 < 阅读全文
posted @ 2011-09-05 16:42 Statmoon 阅读(2288) 评论(0) 推荐(0)
摘要:由于公司没有前端开发人员,近段时间经常做一些前端的开发,顺便也在这里做一些笔记,以作备忘,一个站点做好后往往需要修改其URL的图标,在ASP.NET中的做法一般都是在<head>节点中添加1 <link rel="shortcut icon" href="http://www.cnblogs.com/_icons/logo.ico" />在SharePoint 2010中怎么做呢?SharePoint 2010中的图标是在其母版页v4.master中定义的,里面有一段:1 <SharePoint:SPShortcutIcon 阅读全文
posted @ 2011-09-02 11:19 Statmoon 阅读(1298) 评论(0) 推荐(0)
摘要:做SharePoint开发的时候,会新建很多的自定义列表,但是SharePoint默认所有的自定义列表的新建标签都是“添加新项目”,但是很多地方我们都想改为自己想要的标签,那么怎么更改呢?其实有一种很简单的方法,首先用SPD打开列表,选择所需要修改的视图,选择在高级模式下编辑:然后选中中间的数据视图WebPart,<WebPartPages:XsltListViewWebPart>……</WebPartPages:XsltListViewWebPart>,选择Ribbon上的“列表视图工具”—“设计”—“选项”—“摘要工具栏”:现在就发现数据视图下方出现了“添加新项目” 阅读全文
posted @ 2011-09-01 18:08 Statmoon 阅读(2005) 评论(5) 推荐(1)
摘要:在开发的WebPart中如果有PeopleEditor控件存在,部署后常常看到了界面就是如下:咦,那个输入的文本框呢!?用鼠标上去点一下,原来还在,只是边框没了:那就只有自己给它加个边框,首先用IE8及以上版本浏览器F12打开开发人员工具,然后选定那个人员选取器的文本框,看其样式是什么:很容易发现其样式为ms-inputuserfield,现在我们只需要重写一下这个样式,加个border就可以了,1 <style type="text/css">2 .ms-inputuserfield{font-size:8pt; font-family:Verdana,san 阅读全文
posted @ 2011-08-31 11:29 Statmoon 阅读(410) 评论(1) 推荐(0)
摘要:随着VS 2010的使用,在SharePoint 2010上的开发越来越容易,在开发事件的时候可以直接选择事件类型,事件源和哪些事件:这样就大大减轻了开发和部署上的难度,但是也造成了一定的弊端,很多的事件都是在自定义列表上的,因此很多人在开发的时候,直接选择事件源为“自定义列表”,然后选择几种要开发的事件就直接开发,完成后直接部署,根本就不去看看Elements.xml和其他的文件都是些什么,如果直接这样做而不在Elements.xml做小小改动的话,就会造成整个站点内所有的自定义列表全绑的有事件。因为Elements.xml中定义了事件的接收者为<Receivers ListTempl 阅读全文
posted @ 2011-08-30 17:58 Statmoon 阅读(947) 评论(0) 推荐(1)
摘要:之前我在自己的开发机上开发了一个沙盒解决方案,现在要将其部署到服务器上,怎么部署呢!?方法有两个:第一个就是直接在网站设置里面上传,选择“网站操作”—“网站设置”—“库”—“解决方案”,点击“上载解决方案”,然后将自己开发沙盒解决方案的WSP文件上传上去,然后激活。第二个方法就是在PowerShell中操作,分别采用Add-SPUserSolution命令和Install-SPUserSolution命令来添加和激活解决方案,这两条命令的语法分别为:Add-SPUserSolution -LiteralPath c:\contoso_solution.wsp -Site http://site 阅读全文
posted @ 2011-08-30 17:37 Statmoon 阅读(744) 评论(0) 推荐(0)
摘要:下面的样式是在国外找的一点资料。这是2007的样式详细解析:CSS Reference Chart for SharePoint 2007 (Microsoft Office SharePoint Server 2007 and Windows SharePoint Services v3)这是2010的样式详细解析:SharePoint 2010 CSS Reference Chart 阅读全文
posted @ 2011-08-17 14:27 Statmoon 阅读(280) 评论(0) 推荐(0)
摘要:有一个列表,之前对其进行过“自定义表单”处理,后来又对其写了一个EventHandler,列表可以正常工作,但是因为上面有一列是默认值,客户不想其在新建的时候也看到那一列,希望隐藏掉,这个问题当然很简单,大家都知道只需要再在列表上点击Ribbon中的“自定义表单”,然后在表单中将那一行删除后再发布回去,但是现在问题出现了,如下图:看到这么不清不楚的错误提示,实在不清楚发生了什么问题,还是看看Windows日志吧,一般错误都会在那边显示有,打开“服务器管理器”,选择“Windows日志”中的“应用程序”,果然有错误:原来是EventHandler在做怪,现在就到网站集功能中先将其停用,然后发布I 阅读全文
posted @ 2011-08-17 10:44 Statmoon 阅读(1231) 评论(0) 推荐(0)
摘要:这篇文章接着讲述其他几种禁用列表编辑的方法,首先还是将前面的步骤都复制过来。这里以2007为例,在2010中可以也可以使用此方法,首先我在网站集上建立一个列表TestList,它有三列,分别为“标题”,“TestField”和“ReadOnlyField”,如下:现在我需要禁止任何人编辑“TestField”列,怎么做呢?首先我用SPD 2007打开TestList列表:然后找到EditForm.aspx,将其在IE中打开,然后右键选择“查看源文件”,就会弹出一个记事本文本文件,如果要确定自己打开的是不是EditForm.aspx的源文件,就在文本中搜索一下,看看能不能找到如下一段:1 < 阅读全文
posted @ 2011-08-15 23:15 Statmoon 阅读(498) 评论(0) 推荐(0)
摘要:在有的时候,会有这样的需求,就是某个列表不允许任何人编辑,大家第一时间肯定都会想到用权限来控制,但是这样的话总归是开了后门,只要有人有权限就可以去编辑,在这里,我通过前端的控制来禁用编辑。这里以2007为例,在2010中可以也可以使用此方法,首先我在网站集上建立一个列表TestList,它有三列,分别为“标题”,“TestField”和“ReadOnlyField”,如下:现在我需要禁止任何人编辑“TestField”列,怎么做呢?首先我用SPD 2007打开TestList列表:然后找到EditForm.aspx,将其在IE中打开,然后右键选择“查看源文件”,就会弹出一个记事本文本文件,如果 阅读全文
posted @ 2011-08-15 22:43 Statmoon 阅读(1073) 评论(0) 推荐(0)
摘要:在我的网站集中有一个“我的任务”列表,现在需要将其加载到一个普通的ASPX页面中:首先用SPD打开“我的任务”列表,然后在视图中选择要显示那个视图,右键选择“在高级模式下编辑文件”:然后选中<WebPartPages:XsltListViewWebPart ......></WebPartPages:XsltListViewWebPart>这一段,选择Ribbon上面的“列表视图工具”—“Web部件”—“保存Web部件”—“到网站库”,然后在弹出的对话框上点击确定按钮:然后在SPD中打开网站页面,选择新建一个ASPX页:然后在高级模式下打开此页,选择“插入”—“Web部 阅读全文
posted @ 2011-08-11 18:17 Statmoon 阅读(477) 评论(0) 推荐(0)
摘要:我们在SharePoint开发测试过程中,用系统帐户之外的帐户常常会出现“拒绝访问”这样的错误,遇到此错误就说明当前用户的权限不够,解决办法就是对代码中的方法进行权限提升,在using (SPSite mySite = SPContext.Current.Site){ //Do Something }的外围加上权限提升的代码,具体如下: 1 SPSecurity.RunWithElevatedPrivileges(delegate 2 { 3 using (SPSite mySite = SPContext.Current.Site) 4 { 5 using (SPWeb myWeb = my 阅读全文
posted @ 2011-08-10 17:47 Statmoon 阅读(979) 评论(0) 推荐(0)
摘要:今天做了一个用户管理的WebPart,系统帐户测试OK,发现普通的用户访问那个页面时提示“拒绝访问”,于是将其中的一部分代码拎出来做测试,建了一个WebPartTest项目,向里面添加了两个控件,一个Button,一个ListBox,Button用来触发,ListBox用来显示值,页面主要代码如下:1 <asp:UpdatePanel ID="UpdatePanel" runat="server">2 <ContentTemplate>3 <asp:Button ID="btnTest" Text=&qu 阅读全文
posted @ 2011-08-10 17:38 Statmoon 阅读(1223) 评论(0) 推荐(0)
摘要:当我们在sharepoint代码开发的时候,页面执行时或调试代码出现如下的错误信息:此网页的安全性验证无效并且可能损坏。请单击 Web 浏览器中的“后退”,刷新网页,再重试操作。解决办法:在代码SPWeb myWeb = myList.OpenWeb();下面添加一条代码:myWeb.AllowUnsafeUpdates = true;记得最后在myList.Update()或者是myListItem.Update()后添加下面的代码:myWeb.AllowUnsafeUpdates = false; 阅读全文
posted @ 2011-08-06 18:46 Statmoon 阅读(344) 评论(0) 推荐(0)
摘要:在做SharePoint的WebPart开发时,点击了WebPart中的一个按钮,但是发现没有做任何事情,后来单步调试,遇到了如下问题:一看这个问题就知道是不应该该释放SPSite对象时,给释放了,更准确的说是自己使用using (SPSite mySite = SPContext.Current.Site)的位置不当,解决办法有两种:第一,调整自己的程序,不要提前将SPSite对象给释放了,需要自己仔细检查;第二,去掉using,直接使用SPSite mySite = SPContext.Current.Site。 阅读全文
posted @ 2011-08-03 12:12 Statmoon 阅读(583) 评论(0) 推荐(0)
摘要:以前做一个项目,为了实现两字段联动录入的功能,采用了Infopath来自定义表单完成,具体方法如下:例如,首先我们有一个数据源列表Country,里面有连个字段,一个是Country,一个是Province,存放着所有的源数据,我们现在有一个LinkageList,用来输入信息,里面也有两个字段,一个是国家,一个是省会现在我们需要在LinkageList列表中添加数据时,实现国家和省会联动,即如果你国家选择了China,那么省会就只有三个选择Guangdong,Hubei,Hunan供你选择,怎么实现呢?我们点击列表Ribbon上的自定义表单,现在就会把LinkageList列表中字段列出来给 阅读全文
posted @ 2011-07-12 15:09 Statmoon 阅读(2762) 评论(0) 推荐(0)