love007 发表于 2012-12-29 11:20:52

使用代码更新 UIVersion 属性

<div id="cnblogs_post_body">

[*]前言

默认情况下,在将 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();}}
页: [1]
查看完整版本: 使用代码更新 UIVersion 属性