【问题标题】:Hiding a custom web part in SharePoint在 SharePoint 中隐藏自定义 Web 部件
【发布时间】:2010-12-02 02:29:01
【问题描述】:
我正在尝试完全隐藏我在特定情况下编写的自定义 Web 部件。我没有找到很多帮助实际上是隐藏了完整的 Web 部件。使用:
this.Hide = true;
将隐藏 Web 部件的内容,但它似乎将 Chrome 留在后面。我无法更改 Chrome 显示,所以现在不能这样做。有没有更完整的方法来使用 C# 隐藏整个 Web 部件?
【问题讨论】:
标签:
sharepoint
web-parts
sharepoint-2007
【解决方案1】:
确保页面不呈现任何内容的唯一方法是关闭 Web 部件。 From MSDN:
隐藏的 WebPart 控件
仍然在它的区域内,实际上是
在其页面上呈现,并参与
在页面生命周期阶段,例如
PreRender 阶段,即使它不是
在浏览器中可见。这是
不同于 WebPart 控件
是封闭的,因为封闭的控制
甚至没有在页面上呈现...
使用 SPLimitedWebPartManager 及其CloseWebPart 方法来执行此操作。 (注意正确处理 SPLimitedWebPartManager 及其 Web 属性。)
或者,使用 CSS 或 jQuery 方法。 Web 部件仍会呈现,但您可以按照最初的意愿隐藏它。
【解决方案2】:
我不担心 Web 部件是否被渲染,只是让它无法在视觉上显示。如果我的具体情况出现,我最终做的是通过代码更改 chrome。
this.ChromeType = PartChromeType.None;
this.Hidden = true;