Wie fügen Sie benutzerdefinierte Menüaktionen programmgesteuert in SharePoint hinzu?

8

Ich muss eine benutzerdefinierte Menüaktion zu einem benutzerdefinierten Inhaltstyp programmgesteuert in c # hinzufügen. Dies liegt daran, dass ich die URL nicht kenne, zu der ich vorher verlinken muss. Die zu verknüpfende URL wird aus der Konfiguration abgerufen, wenn die Funktion aktiviert ist. Ich habe folgendes versucht:

Die CustomAction in meiner Element.xml-Datei wurde wie folgt hinzugefügt:

%Vor%

In meiner Funktion FeatureActivated mit Feature-Empfänger habe ich:

%Vor%

Ich würde erwarten, dass dieser Code die UrlAction-URL mit "MEINE URL" aktualisiert, tut dies aber nicht. Wenn ich eine URL in der XML hart code, funktioniert es, aber ich muss es programmatisch tun können.

    
Alex Angas 22.09.2009, 22:11
quelle

3 Antworten

7

Sie können die SPUserCustomActionCollection für das SPWeb-Objekt verwenden:

%Vor%

Auf diese Weise können Sie die URL wie gewünscht einstellen. Wenn Sie eine vorhandene benutzerdefinierte Aktion aktualisieren, können Sie die Auflistung durchlaufen und die gesuchte aktualisieren. Das Aktualisieren der XML-Elementdefinition nach dem Installieren der benutzerdefinierten Aktion führt zu nichts.

    
Charles Chen 08.11.2010 15:09
quelle
2

Je nachdem, was Sie erreichen möchten, können Sie Javascript verwenden;

%Vor%

Die ~ site und ~ siteCollection funktioniert auch:

%Vor%     
Francisco Aquino 18.11.2009 17:53
quelle
1

Ich glaube nicht, dass die WSS-Schemadefinition ein leeres Url-Attribut im UrlAction-Element zulässt. Vielleicht solltest du eine "Standard" -URL in das XML schreiben, das du später überschreibst?

    
Junx 25.02.2010 23:08
quelle