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

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

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

还有哪些其他选择?我错过了一些明显的事情吗?

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

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

感谢您的帮助。

有帮助吗?

解决方案

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

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

其他提示

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

Web 部分会消失,但不用担心!它并没有永远消失!

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top