如何临时禁用 SharePoint Webpart?

Posted

技术标签:

【中文标题】如何临时禁用 SharePoint Webpart?【英文标题】:How do you disable a SharePoint webpart temporarily? 【发布时间】:2010-09-10 05:48:44 【问题描述】:

这可以通过设置属性来完成吗?

我更喜欢这种方法,然后在重新添加之前删除所有安全性。 (因为这可能会产生其他后果。)

我能想到的另一种选择是将特定的 webpart dll 替换为临时的,然后重新启动 .net 进程,但这不是我喜欢的方法。

还有哪些其他选择?我是否遗漏了一些明显的东西?

例如,我正在尝试做的是找到一种方法来禁用 Web 部件,同时我们更新它正在使用的底层数据库架构。 因此,理想情况下,我们希望为所有用户禁用特定的 Web 部件,无论是在 mysite 还是社区站点上,进行所需的更改,然后重新启用它。 从而减少用户的停机时间。

无论解决方案是什么,我们都需要能够在多个前端服务器上轻松完成,可能是两个场。

感谢您的帮助。

【问题讨论】:

我认为这个问题需要更具体。您想像@Aiden 描述的那样手工完成还是以编程方式完成? 我添加了更多细节。要回答,任一种选择,虽然需要对所有用户生效,所以艾登的方案并不理想。 我担心我的解决方案适用于所有用户的站点级别,但不适用于所有站点... 【参考方案1】:

转到站点操作 -> 编辑页面 您可以编辑所有 Web 部件。单击要禁用的 Web 部件的“编辑”下拉菜单,然后选择“关闭”。

Web 部件消失了,但不要害怕!它并没有永远消失!

把它拿回来: -> 单击以添加新的 Web 部件 -> 高级 Web 部件库和选项。 您的第一个选项是在“关闭的 Web 部件”中进行选择。单击该链接时,您将显示已关闭的所有 Web 部件的列表。只需添加您想要返回的那个!

【讨论】:

感谢 Aiden 的回复,是否可以通过编程方式为所有网站和用户设置此属性?【参考方案2】:

在 web.config 中,您可以为 webpart 的 SafeControl 标记设置 safe="false"。这将导致 Web 部件呈现错误消息,直到您将其设置回 true。

http://technet.microsoft.com/en-us/library/cc287909.aspx

【讨论】:

【参考方案3】:

编写代码在站点的属性包中设置值,通过代码设置值,并在Web部件的页面lode中检查属性包的值,如果设置则显示内容,否则跳过。 希望你能理解,如果不让我知道,我会说清楚。

【讨论】:

以上是关于如何临时禁用 SharePoint Webpart?的主要内容,如果未能解决你的问题,请参考以下文章

sharepoint 2013列表视图Webpart过滤器下拉列表

如何部署 SharePoint WebPart?

如何在 Sharepoint Wiki 页面上添加 WebPart?

如何限制 Sharepoint 2010 WebPart 中 HtmlTable 中单元格的宽度?

如何使用 Visual Studio 2013 开发 Sharepoint Webpart

如何将 WebPart 添加到 SharePoint 网站中的所有页面?