• 前言

默认情况下,在将 Windows SharePoint Services 3.0 网站或 Office SharePoint Server 2007 网站升级到 SharePoint 2010 时,最初将通过使用 Windows SharePoint Services 3.0 的版本 3 用户界面来呈现其页面。但是,将用户界面迁移到版本 4 的时间将由网站管理员通过使用浏览器中的标准命令逐个网站进行确定。浏览器中还有一个可用命令,可供网站集所有者用来一次性迁移网站集中的所有网站。这意味着,各个团队可确定将其网站的用户界面迁移到版本 4 的最佳时间。

下面我们将讨论实现详细信息,利用这些信息,SharePoint 2010 可在各版本之间来回切换网站的用户界面。每个 SharePoint 网站均由一个 SPWeb 对象表示。从 SharePoint 2010 开始,每个 SPWeb 对象都带有一个在内容数据库中跟踪的新 UIVersion 属性。UIVersion 属性是基于整数的,它可包含的有效值为 3 或 4。当某个网站的 UIVersion 属性值为 3 时,SharePoint 2010 将使用版本 3 来呈现该网站的页面。当某个网站的 UIVersion 属性值为 4 时,SharePoint 2010 将使用版本 4 来呈现该网站的页面。

还可利用 SharePoint 2010 来启用或禁用网站管理员重新配置用户界面版本的能力。可通过另一个新的 SPWeb 属性(即 UIVersionConfigurationEnabled 属性)来进行此控制。如果此属性具有的布尔值为 true,则 SharePoint 2010 将使网站管理员能够使用浏览器在版本之间来回切换。如果某个网站的 UIVersionConfigurationEnabled 属性值为 false,则 SharePoint 2010 不会为网站管理员提供用于在各个用户界面版本之间切换的任何控制。

当您在 SharePoint 2010 中创建新网站时,无需使用直观升级功能。因此,创建的新网站的 UIVersion 属性值为 4,UIVersionConfigurationEnabled 属性值为 false。这意味着,将使用版本 4 来运行新网站的用户界面,并且网站管理员无法将网站的用户界面切回到版本 3。

在从 Windows SharePoint Services 3.0 和 Office SharePoint Server 2007 升级现有网站时,情况则有所不同。当您升级某个网站时,SharePoint 2010 包含以下默认行为:最初分配的 UIVersion 属性值为 3,UIVersionConfigurationEnabled 属性值为 true。这意味着,最初会在版本 3 下运行已升级网站的用户界面。已升级网站还使网站管理员能够重新配置网站的用户界面以开始使用版本 4。但是,当网站管理员决定重新配置在版本 4 下运行的网站时,SharePoint 2010 会将 UIVersionConfigurationEnabled 属性更新为 false,这将使网站管理员无法切回到版本 3。

  • 使用代码更新 UIVersion 属性

使用C#代码更改

利用 SharePoint 2010 的服务器端对象模型,可轻松更新一个或多个网站的 UIVersion 属性,以自动将服务器场中网站的用户界面从版本 3 迁移到版本 4。以下是使用 Microsoft Visual Studio 2010 编写的简单 C# 代码段,它将重新配置网站集中的所有网站,使其用户界面在版本 4 下运行。

string url = "http://intranet.wingtip.com";
using (SPSite siteCollection = new SPSite(url)) {foreach (SPWeb site in siteCollection.AllWebs) {site.UIVersion = 4;site.UIVersionConfigurationEnabled = false;site.Update();}
}

使用PowerShell脚本

如果您是一名服务器场管理员,您希望无需编写已编译组件或应用程序即可获得相同的结果,您应该怎么做?您可编写等效代码,以通过使用 Windows PowerShell 脚本来更新一个或多个网站的 UIVersion 属性。例如,如果您希望将一个当前在版本 3 下运行的网站切换到使用版本 4,您应该怎么做?您可编写一个 Windows PowerShell 脚本,该脚本可为目标网站创建一个 SPWeb 对象,并更新与前面的示例中的 C# 代码相同的属性。

当您创建要在其中调用由 SharePoint 2010 提供的 cmdlet 的 Windows PowerShell 脚本时,您首先应调用 Add-PSSnapin cmdlet 以加载包含 SharePoint 2010 cmdlet 的 Windows PowerShell 管理单元。然后,您可使用 Get-SPWeb cmdlet 来检索目标 SPWeb 对象。之后,您可将值 4 分配给 UIVersion 属性,并将值 false 分配给 UIVersionConfigurationEnabled 属性,最后再调用 Update,如以下示例所示。

代码Add-PSSnapin "Microsoft.SharePoint.PowerShell"
$site = Get-SPWeb "http://intranet.wingtip.com"
$site.UIVersion = 4
$site.UIVersionConfigurationEnabled = false
$site.Update()

使用代码更新 UIVersion 属性相关推荐

  1. 关于Entity Framework自动关联查询与自动关联更新导航属性对应的实体注意事项说明...

    一.首先了解下Entity Framework 自动关联查询: Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载) ...

  2. LabVIEW程序代码更新缓慢

    LabVIEW程序代码更新缓慢 LabVIEW在加载大型VI时会导致响应缓慢.当在前面板或框图上移动一个控件或函数时,它会挂起一秒钟,或者移动得非常缓慢.偶尔,当已打开程序框图时,有些连线会显示不全, ...

  3. 【程序员基础篇】开源中国私有库代码更新

    开源中国私有库代码更新 环境 expect bash 步骤 在开源中国新建私有库 脚本执行代码库更新 在本地web项目目录下添加远程库 在本地web目录下/Appliactions/XAMPP/htd ...

  4. 加载顺序_JAVA类代码块和属性的加载顺序问题,不要以为静态块始终最先执行了!...

    类代码块和属性的加载顺序问题,不要以为静态块始终最先执行了! 我们知道在一个类中,类的加载顺序为 静态代码块-->普通代码块-->构造代码块,感觉静态块始终是最先初始化的,其实并不是,下面 ...

  5. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  6. 删除顽固文件的执行代码,删除rhsa属性文件,删除服务器中黑客留下...

      删除顽固文件的执行代码,删除rhsa属性文件,删除服务器中黑客留下的畸形文件文件有时候服务器的网站空间被黑客入侵,上传了删除不了的文件,我们可以用bat代码来执行删除. DEL /F /A /Q ...

  7. Android-通过Java代码来实现属性动画

    Android-通过Java代码来实现属性动画 除了能够使用定义xml文件来设置动画之外.还能够使用java代码来进行控制动画. 示比例如以下: 布局文件: <RelativeLayout xm ...

  8. ObjectContext的ApplyPropertyChanges()方法不能更新导航属性的解决办法

    Entity Object中往往需要在中间层返回一个Dto对象给前端,修改后将这个离线的Dto传回中间层更新,ApplyPropertyChanges方法很方便的帮我们把修改属性应用到上下文的对象(注 ...

  9. 微信开发者工具:代码更新后页面未刷新

    问题 微信开发者工具代码更新后页面未更新.只用通过手动点击编译才可更新页面 尝试过稳定版 16.15 版本均未解决 开发环境 项目配置:Taro3 + React17 + Node18 + @antm ...

最新文章

  1. 禁毒学、油画、乌尔都语……字节跳动程序员的专业有多奇特丨技术同学大数据报告...
  2. JS 创建对象(常见的几种方法)
  3. ABAP表抛FTP通用程序
  4. ElasticSearch优化系列三:机器设置(内存)
  5. mysql 服务器初始面膜_安全初始化MySql服务器
  6. 深度探索QT窗口系统——几何篇
  7. Python(入门小练习1)
  8. php css类,css class是啥
  9. pandas常用函数总结
  10. 中国剩余定理-数硬币
  11. .net 和 j2ee的区别
  12. 电脑录屏的html文件,如何在电脑录制网页视频及网页录音?
  13. 寒霜朋克计算机丢失,Frostpunk寒霜朋克冰汽时代已停止工作修复补丁(Windows6.1-KB2670838-x64)...
  14. 解决:vue组件顶部留有空白问题
  15. android自带中文字体,Android中的默认字体系列是什么?
  16. OpenGL学习十九:纹理过滤
  17. 老铁是要塞里最出名的铁匠大师,小铁是老铁的儿子,老铁希望小铁能传承他的衣钵为要塞的骑士们锻造护甲。经近一段时间的学习,小铁逐渐掌握了打铁的技术,但是他很快发现,每一天手臂的力量总是不如前一天
  18. 【论文阅读笔记|ACL2022】Continual Sequence Generation with Adaptive Compositional Modules
  19. 环形穿梭车(RGV)高效搬运设计方法
  20. 听故事的男同学,没了666

热门文章

  1. 如何让强化学习走进现实世界?DeepMind要用“控制套件”推动
  2. 深度学习入行门槛太低,不开心!
  3. 宣城市加快运用大数据推动全域旅游发展
  4. 判断并输出打印前一百个回文素数,每行10个
  5. Memcache监控工具 -- memkeys
  6. 探秘ReSharper 8新功能——XAML编辑
  7. 四、物理优化(6)数据库引擎优化顾问
  8. DataSet DataTable DataReader DataAdapter之间的区别
  9. OOAD实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)
  10. 解决vmware报错:Mac OS X is not supported with binary translation.