【问题标题】:Hiding site actions menu in moss depending on page根据页面在苔藓中隐藏站点操作菜单
【发布时间】:2010-12-02 00:36:34
【问题描述】:

我正在尝试使用我们的 moss 环境隐藏某些页面的站点操作菜单,特别是非发布页面。

我希望使用 SPSecurityTrimmedControl 来实现它,所以在我的母版页中我有:

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ApproveItems">
<PublishingSiteAction:SiteActionMenu runat="server"/>
</SharePoint:SPSecurityTrimmedControl>

但这似乎只是基于角色而不是基于页面。任何人都可以提出替代方案吗?

【问题讨论】:

    标签: sharepoint menu conditional


    【解决方案1】:

    我不确定这是否是最好的方法......但我不得不做类似的事情(隐藏/显示东西)。我创建了一个 UserControl,然后将其包含在母版页中。

    1.编写用户控件背后的代码

    namespace YourCompany.Namespace
    {
        public class HideSiteActionsClass : System.Web.UI.UserControl
        {
            protected override void  OnLoad(EventArgs e)
            {
                // do work to hide site actions depending on page
            }
        }
    }
    

    2。创建你的用户控件 ascx 文件

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\YourUserControl.ascx 的内容

    <%@ Control Language="C#" Inherits="YourCompany.Namespace.HideSiteActionsClass,YourDLLThatHasTheClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4145551be317a94" compilationMode="Always" %>
    

    3.将您的用户控件添加到母版页

    把它放在顶部:

    <%@ Register TagPrefix="yourTagPrefix" TagName="YourTagName" src="~/_controltemplates/YourUserControl.ascx" %>
    

    把它放在页面的某处:

    <yourTagPrefix:YourTagName id="AUserControlID" runat="server" EnableViewState="false"></yourTagPrefix:YourTagName>
    

    您可以在 google 或this page 上找到信息。

    【讨论】:

      【解决方案2】:

      一个不错的方法是构建您自己的包装控件,该控件根据您指定的某些条件隐藏其子控件。与 SPSecurityTrimmedControl 完全一样!

      Waldeks blog entry。他为匿名用户隐藏了操作菜单,因此您只需输入自己的标准即可。

      【讨论】:

        猜你喜欢
        • 2010-09-11
        • 1970-01-01
        • 2021-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-20
        • 2013-12-18
        相关资源
        最近更新 更多