SharePoint 2010开发实例精选——网站属性管理

news/2024/5/20 13:54:32/文章来源:https://blog.csdn.net/weixin_34320159/article/details/85458476

本例通过自定义一系列的后台应用程序页面,在SharePoint Foundation 2010和SharePoint Server 2010中实现了SharePoint网站的属性定制管理。SharePoint中网站的元数据存储在哈希表SPWeb.AllProperties中。我们可以通过新的SharePoint 2010 API如SPWeb.GetPropertySPWeb.AddPropertySPWeb.SetPropertySPWeb.RemoveProperty对其进行访问。这些属性广泛用于构建自定义组件时存储配置型数据。

在SharePoint里有许多地方可以存放配置数据。对于SharePoint委托控件(DelegateControl),你可以使用element manifest文件。对于WebPart,你可以使用.webpart文件。对于全局配置,你可以使用web.config,自定义SharePoint列表,或者SPFarmSPWebApplicationSPSiteSPWebSPList上的属性包。

网上现在有很多免费的工具可以做这件事,但很多都是for SharePoint 2007的,还未升级到SharePoint 2010,所以本文编写的网站属性编辑功能很有实用价值。之所以选择SPWeb对象,是因为这是大多数用户的使用场景。用户只需要拥有网站管理员的权限即可。如果是顶级网站(往往用于存储全局的配置数据),就是网站集管理员权限。在SPFarm或者SPWebApplication中存储属性相对来说风险较大,并且需要更高的访问权限。在生产环境中这一点往往不容易具备。况且还要把应用程序页面挂到SharePoint 2010管理中心。

实现要点

开发这个工具的挑战在于使界面尽可能与其他SharePoint应用程序页类似。我的意思并不是说只是外观上类似,还包括后端所有界面的工作方式带给用户的体验。

  • 包括3个应用程序页。分别是MngSiteProperties.aspx (管理页面), AddSiteProperty.aspx (添加页面) 和 EditSiteProperty.aspx (编辑页面)。所有这3个页面都继承自WebAdminPageBase ,并重写RequireSiteAdministrator属性的实现,使其返回true
  • 尽可能使用SharePoint 内置的控件来渲染界面元素。本例中用到的用户控件包括ToolBar.ascx, ToolBarButton.ascx, InputFormSection.ascx, InputFormControl.ascx, ButtonSection.ascx 和自定义控件SPGridViewInputFormTextBox
  • 所有的界面字符串都存放在资源文件中。所有用于应用程序页界面上的字符串存放在应用程序全局资源文件QuestechCustomSiteProperty.resx里。在Visual Studio 2010中,该文件的 Deployment Type 设为 AppGlobalResource
  • MngSiteProperties.aspx里,网站属性的表格通过SPGridView来显示, 并且放在一个UpdatePanel 里(这一点稍后会解释)。 ItemTemplate 用于显示到编辑页面的超链接,将在查询字符串中传递属性名。这里需要注意的一点是,要对属性名进行URL加密,因此不能使用HyperLinkField
  • 新的SharePoint 模式对话框机制用于相应新建和编辑操作。特别注意SP.UI.ModalDialog.commonModalDialogOpen的使用。在回调函数中编写代码当新建或编辑成功后手工刷新上面提到的UpdataPanel。你也可以使用SP.UI.ModalDialog.RefreshPage ,但是这样会刷新整个页面,因为它用的是表单提交的方式!
  • 一般当我们使用SharePoint模式对话框时,服务器端逻辑必须用新的SharePoint客户端API编写或者封装到WCF里。这样,当逻辑运行结束时的回调就很简单了。本例中还是使用了SharePoint 2007的思路,因此在AddSiteProperty.aspxEditSiteProperty.aspx的后台代码中到调用者的回调采用以下方式:
    page.Response.Clear();
    page.Response.Write(
    String.Format(@
        
    "<script language=""javascript"" type=""text/javascript"">
        window.frameElement.commonModalDialogClose(1""{0}"");
        
    </script>"returnValue));
    page.Response.End();
    代码中使用 SP.UI.ModalDialog.commonModalDialogClose 通知浏览器关闭当前的对话框并传递returnValue 到父级页面的回调函数。
  • 由于网站属性被SharePoint存放在一张哈希表中,所以属性值默认是一个object而不是string。在管理页面中将通过ToString来列出属性值。当检测到属性值不是一个字符串时,需要禁用编辑页面的确定按钮,避免对其进行编辑。
  • 特别要注意不要编辑任何内置的网站属性,除非你知道自己在干什么。
  • 应用程序页面的人口链接通过CustomAction 发布成网站功能,激活后会显示在网站设置页面上。

下载中提供的Visual Studio 2010 解决方案里包含了该工具相关的除了强名密钥文件(key.snk)以外的所有编译以及部署所需的文件。完全基于内置的SharePoint解决方案模板,并不需要任何第三方的插件即可对其进行编译。

部署

最简单的方式就是直接在Visual Studio 2010里点击项目,在属性面板里修改Site URL,然后CTRL+F5编译并部署。

也可以使用 SharePoint 2010 管理控制台添加解决方案文件QuestechSiteProperty.wsp,命令如下:

Add-SPSolution "C:\QuestechSystems.SiteProperty\bin\Release\
QuestechSiteProperty.wsp
"

也可以使用传统的 stsadm, 添加解决方案文件QuestechSiteProperty.wsp,命令如下:

stsadm -o addsolution -filename "C:\QuestechSystems.SiteProperty\bin\
Release\QuestechSiteProperty.wsp
"

后两种方式添加完解决方案还需要打开SharePoint 2010 管理中心/系统设置/管理场解决方案,部署刚刚安装的解决方案到指定的web应用程序。

在部署了该解决方案的网站集上,打开顶级网站或者任何子网站,激活网站功能Questech Systems Site Property。 这时在网站设置页面上就会出现我们的自定义设置。

webprop00.PNG 

管理:

webprop01.PNG

新建:

webprop02.PNG

编辑:

webprop03.PNG

添加一条新属性:
webprop05.PNG

:网站属性还可以在SharePoint Designer 2010中进行管理。

用SharePoint Designer 2010打开我们的网站,然后点击功能区中的网站标签下的网站选项:

2010080613180947.png

在弹出的网站选项窗口中,点击“参数”标签。

2010080613191572.png

这里列出了一部分网站属性。包括了我们添加的自定义属性。

 源代码文件下载 

 

参考资料

Site Property Management (SharePoint 2010) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_728017.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机...

在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机 2010-09-06 17:25:40标签&#xff1a;Linux RedHat Apache 虚拟主机 个人主页    [推送到技术圈] 版权声明&#xff1a;原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接…

英文缩写查询网站

python官网看到PSF&#xff0c;不知道什么意思&#xff0c;就查了一下缩写。没想到还真有这类网站。 1.百度“英文缩写” 或直接访问网站&#xff1a; http://shortof.com/ 2.python软件基金会的意思

php 如何用op浏览器开发手机网站,PHP实现手机网站支付(兼容微信浏览器)

网上的很多PHP支付宝支付接入教程都颇为复杂&#xff0c;且需要配置和引入较多的文件&#xff0c;本人通过整理后给出一个单文件版的&#xff0c;希望可以给各位想接入支付宝支付的带来些许帮助和借鉴意义。推荐&#xff1a;《PHP视频教程》一个PHP文件搞定支付宝系列&#xff…

onmouseover和onmouseout在Repeater控件中应用

如果你曾看过这篇&#xff0c;http://www.cnblogs.com/insus/articles/1411057.html &#xff0c;它是在GridView控件中演示&#xff0c;但是它的方法在Repeater控件是无法复制的。由于看到论坛上有网友问及&#xff0c;花上一点点时间做了Repeater控件的演示。首先看看效果(动…

22个优秀的网站后台管理面板模版

在一些网站开发过程中&#xff0c;有非常多的例子是关于怎么学习如何创建网站前台设计&#xff0c;但是处理后台的文章是非常少&#xff0c;这篇文章将整理出22个非常优秀的管理后台面板模版帮助你减少网站的后台开发&#xff0c;节省时间。访问下面这些列表&#xff0c;选择您…

使用Varnish代替Squid做网站缓存加速器的详细解决方案

今天写的这篇关于Varnish的文章&#xff0c;已经是一篇可以完全替代Squid做网站缓存加速器的详细解决方案了。网上关于Varnish的资料很少&#xff0c;中文资料更是微乎其微&#xff0c;希望本文能够吸引更多的人研究、使用Varnish。   在我看来&#xff0c;使用Varnish代替Sq…

iis10 asp 如何连接mdb_如何攻破一个网站

原标题&#xff1a;如何攻破一个网站通过本文你将了解黑客常用的入手思路和技术手法&#xff0c;适合热爱网络信息安全的新手朋友了解学习。本文将从最开始的信息收集开始讲述黑客是如何一步步的攻破你的网站和服务器的。阅读本文你会学到以下内容&#xff1a;1.渗透测试前的简…

数据太多加滚动标题不动_SEO怎么对页面标题优化,页面优化要注意什么?

页面的标题主要是规定了一些网页的内容&#xff0c;然后去告诉搜索引擎蜘蛛这个页面的大概内容&#xff0c;页面标题也就是搜索引擎来判断页面内容的主要参考信息&#xff0c;这就是网页优化最重要的因素。SEO去优化页面标题可以从下面几方面入手(1)相关且准确每个页面标题都要…

建站模板论坛_运营自建站并不难!SHOPYY教你快速建站及精准引流

自建站一直是跨境电商圈中热议的话题。相较于平台&#xff0c;自建站有更大的发挥空间&#xff0c;不受条款限制。不过大部分卖家的印象都停留在“难”上。因为他们在做自建站之后只有少数能做起来。而运营难度究竟有多高&#xff0c;怎样才是正确的建站姿势呢?自建站做不起来…

springboot访问静态页面404_网站404是什么原因,网站404怎么解决

404对于SEO的影响是非常严重的。一旦处理不当网站就会被K&#xff0c;轻微的是降权。所以死链接的处理一定要用正规的处理方式。而更加重要的就是预防404&#xff0c;因为企赢SEO优化那么多网站从来没有出现过死链接这东西。首先我们要知道404出现的原因有哪些&#xff0c;才能…

纯html静态网站_Python爬虫抓取纯静态网站及其资源 !这个项目挣了10k!

遇到的需求前段时间需要快速做个静态展示页面&#xff0c;要求是响应式和较美观。由于时间较短&#xff0c;自己动手写的话也有点麻烦&#xff0c;所以就打算上网找现成的。中途找到了几个页面发现不错&#xff0c;然后就开始思考怎么把页面给下载下来。由于之前还没有了解过爬…

加密狗 加密.net网站_实战案例浅析JS加密 RSA与XXTEA

这次要研究的网站采用的是rsa加密以及xxtea。这里先复习下上一篇讲过的调试流程基础版:如果网页有跳转&#xff0c;必须勾选 preservelog 防止丢包看一下有没有框架 右键查看框架源代码(弹出式登陆界面)登陆尽量使用错误密码 防止跳转查看关键登陆包 分析哪些参数是加密的使用别…

在html中加入搜索词条,如何为网站添加关键字与描述信息

meat标签的奥妙META标签&#xff0c;是HTML语言head区的一个辅助性标签。在几乎所有的page里&#xff0c;我们都可以看到类似下面这段html代码&#xff1a;这就是meta标签的典型运用。meta标签有多少参数&#xff0c;有什么作用&#xff0c;为什么我们要特别重视它呢&#xff1…

Sassaparilla – 简单、快速的创建响应式网站

Sassaparilla 是一组创建响应式网站的规则和风格&#xff0c;Sassaparilla 使用 Sass 和 Compass 建立灵活的可重用的样式表&#xff0c;帮助你简单、快速的创建出响应式网站。 您可能感兴趣的相关文章基于拖放布局的 Twitter Bootstrap 网站生成器Superhero&#xff1a;构建大…

php网站选择什么服务器配置,php选择什么服务器配置

php选择什么服务器配置 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。简要介绍WebSVN是一个基于Web的Subversion Repository浏览器…

优秀设计:12个带给你灵感的创意单页网站作品

单页网站作为一个流行趋势已有一段时间了&#xff0c;但他们的受欢迎程度似乎并没有任何减少。这种页面设计方法并不适用于每个项目&#xff0c;但有时它是合适的&#xff0c;是有意义的。例如&#xff0c;当没有很多内容&#xff0c;而且你知道的内容在未来不会增长很多&#…

织梦建站第一课(上):搭建织梦本地调试环境

织梦建站第一课&#xff08;上&#xff09;&#xff1a;搭建织梦本地调试环境1织梦简介该步骤可做也可不做&#xff0c;因为如果你想在你的真机上安装织梦本地环境可以&#xff0c;如果选择本地安装则跳过此步&#xff0c;也可以在虚拟机中安装&#xff0c;案例中我在虚拟机中安…

网站打开速度慢如何压缩图片_8个免费实用的图片压缩网站、软件(含下载地址)吐血推荐...

很多朋友在生活、工作中都会遇到图片太大的情况&#xff0c;影响导出、存储。这个时候就需要我们压缩图片或者干脆换掉图片。但是换图是一件很影响效率的事情&#xff0c;找到中意的替代图片可不是件容易的事情。所以今天我给大家整理了一个在线图片压缩网站及软件合辑&#xf…

可以发外链的网站_seo排名就是发外链,网站运营就是写文章

seo排名就是发外链&#xff0c;网站运营就是写文章。常规的菜鸟和从业seo几年的人对于seo和网站运营的理解&#xff0c;基本就在于此。1.seo排名就是发外链我从参加线上网络营销的培训班&#xff0c;在里面学习了seo的一些基本理论和皮毛之后我就开始接企业网站关键词seo排名的…

多吉搜索不能用了_百度停更!火狐插件失效?5个资源搜索网站送给你,搜一下很简单...

在五一放假之前&#xff0c;百度方面就发布了公告&#xff0c;表示将在月底停止更新PC端的百度浏览器&#xff0c;并且一些百度产品也不能在使用&#xff0c;一开始没注意&#xff0c;结果打开电脑中的浏览器突然发现&#xff0c;嗯&#xff1f;我收藏在页面的网站咋都没了&…