隐藏 SharePoint 列表/文档库中的新建/操作/上传/设置菜单
如何隐藏 SharePoint 列表或文档库中的新建/操作/上传/设置菜单? 请注意,我需要能够隐藏特定列表定义(模板)的这些菜单,而不仅仅是所有列表或文档库。
我知道的一种可能的方法是注册一个 ,并将 ControlClass 元素设置为从 WebControl 继承的控件。 在 WebControl 中,我可以重写 OnPreRender,然后执行此操作:
foreach (Control control in this.Parent.Controls)
{
if (control.ToString() == "Microsoft.SharePoint.WebControls.NewMenu")
{
control.Visible = false;
}
// etc
}
这非常 hacky,我只是想知道是否有更好的方法来做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用属于 SharePoint 2007 功能 Codeplex 项目的工具栏管理器 Web 部件来实现此目的。
http://features.codeplex.com/
您需要将 Web 部件添加到每个视图网页,但它允许您隐藏菜单项而无需编码。
如果某些用户需要菜单项,请授予他们添加个人视图的权限。 当他们创建个人视图时,默认情况下不会安装 Web 部件。 此外,您还需要禁止不应访问菜单项的用户进行个人视图。
You can acheive this using the Toolbar Manager web part that is part of the SharePoint 2007 Features Codeplex project.
http://features.codeplex.com/
You need to add the web part to the each view web page, but it allows you to hide menu items without coding.
If some users need the menu item, give them permission to add personal views. When they create a personal view, the web part will not be installed by default. As well, you will need to disallow personal views for users that should not be to access the menu items.
JavaScript 可能是您最好的选择。 只需在您的母版页中修改并引用此代码即可:
JavaScript is probably your best option. Just modify and refer to this code in your Master Page:
我刚刚写了一篇博客文章 此处为您隐藏了按钮。 希望能帮助到你。
I just wrote a blog entry here on this which hides the button for you. Hope it helps.
如果您的列表中没有任何非隐藏内容类型,“新建”按钮将自动消失。
If you don't have any non-hidden content types in your list, the "new" button will automatically disappear.