J'ai créé une fonction CustomAction pour ajouter un bouton au menu "Actions" d'une liste. Lorsque je ne spécifie pas les attributs ControlAssembly/ControlClass, le bouton apparaît. Lorsque je spécifie ces attributs, le bouton n'apparaît pas. J'ai essayé d'ajouter un élément SafeControl correspondant dans le site web.config. J'utilise VSeWSS. MISE À JOUR - lien supprimé à une autre question - je ne sais pas comment j'ai fait cela. Ma question est quelqu'un peut-il me dire pourquoi mon bouton CustomAction n'apparaît pas lorsque je spécifie les attributs ControlAssembly et ControlClass?Aide à l'ajout d'un bouton dans le menu "Actions" d'une liste
MISE À JOUR 2 - RegenConfigTemp hérite réellement de WebControl, désolé! Ma machine avec accès web est différente de ma machine de dev et il n'y a aucun moyen de déplacer les fichiers entre eux à moins de graver un CD.
voici mes fichiers:
manifest.xml <?xml version="1.0" encoding="utf-8"?> <Solution SolutionId="GUIDHERE" xmlns="http://schemas.microsoft.com/sharepoint/"> <FeatureManifests> <FeatureManifest Location="RegenConfigTemp\feature.xml" /> </FeatureManifests> <Assemblies> <Assembly Location="WebFeature.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> </Solution>
feature.xml <Feature Id="GUIDHERE" Title="RegenConfigTemp" Scope="Web" Version="1.0.0.0" Hidden="FALSE" DefaultResourceFile="core" xmlns="http://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="RegenConfigTemp\Module.xml" /> </ElementManifests> </Feature>
Module.xml <?xml version="1.0" encoding="utf-8"?> <Elements Id="GUIDHERE" xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="GUIDHERE" RegistrationType="List" RegistrationId="1981" GroupId="ActionsMenu" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="Regenerate List Contents" ControlAssembly="WebFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=myPKTokenHere" ControlClass="WebFeature.RegenConfigTemp" ></CustomAction> </Elements>
RegenConfigTemp.cs using System; using System.Runtime.InteropServices; using System.Web.UI.WebControls; using Microsoft.SharePoint.WebControls; namespace WebFeature { [Guid("GUID HERE MATCHES 1st GUID in Module.xml")] public class RegenConfigTemp : WebControl { protected override void OnLoad(EventArgs e) { this.EnsureChildControls(); base.OnLoad(e); } protected override void CreateChildControls() { base.CreateChildControls(); } } }
j'ajouté ce qui suit à la web.config
<SafeControl Assembly="WebFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=myPKTokenHere" Namespace="WebFeature" TypeName="RegenConfigTemp" Safe="True" />
est-ce censé être une réponse à cette question? –
Voter pour fermer comme une vraie question –