2009-09-28 7 views
0

J'essaie de masquer le menu des actions du site de certaines pages avec notre environnement moss, en particulier les pages non publiées.Masquer le menu des actions du site dans moss en fonction de la page

Je cherchais à utiliser la SPSecurityTrimmedControl pour y parvenir, donc dans mon masterpage je:

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

mais il semble que cela est basé sur un rôle et ne page basée. Quelqu'un peut-il suggérer une alternative?

Répondre

1

Une jolie façon est de construire votre propre contrôle de wrapper qui cache ses contrôles enfants en fonction de certains critères que vous spécifiez. Exactement comme le SPSecurityTrimmedControl!

Voir Waldeks blog entry. Il cache le menu Action pour les utilisateurs anonymes, vous n'avez donc qu'à mettre votre propre critérium.

0

Je ne sais pas si c'est la meilleure façon de le faire ou pas ... mais j'ai dû faire quelque chose de similaire (cacher/afficher des trucs). J'ai créé un UserControl et l'ai ensuite inclus dans la page maître.

1. Ecrire le code derrière votre contrôle utilisateur

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. Créez votre usercontrol fichier ascx

Contenu de 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. Ajoutez votre UserControl au masterpage

Mettre cela en haut:

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

quelque part sur Mettre cela la page:

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

Vous pouvez trouver des informations sur Google ou this page.