Wie stelle ich ein benutzerdefiniertes Kontextmenüelement bereit?
-
10-12-2019 - |
Frage
Ich habe eine benutzerdefinierte SharePoint-Anwendungsseite erstellt und möchte sie nun über den Bearbeitungskontrollblock (Elementkontextmenü) öffnen.Mein XML lässt sich nicht kompilieren, weil es mir mitteilt, dass die URL unzulässige Zeichen enthält.Der &
Charaktere verursachen dies.Aber wenn ich benutze &
Stattdessen kann ich kompilieren und bereitstellen, aber die URL ist falsch.Dies liegt daran, dass JavaScrit es versteht &
Zeichen, bei denen Visual Studio mich nicht durchlässt.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="SPTest.CustomMenuItem.ButtonClicked"
RegistrationType="ContentType"
RegistrationId="0x0101"
Location="EditControlBlock"
ImageUrl="/_layouts/IMAGES/workflows.gif"
Sequence="600"
Title="My custom menu"
Description="Click to my custom menu.">
<UrlAction Url="javascript:OpenPopUpPageWithTitle('~site/_layouts/SP/MyAppPage.aspx?ListId={ListId}&ItemId={ItemId}', RefreshOnDialogClose, 530, 300, 'My custom menu')"/>
</CustomAction>
</Elements>
Wie formatiere ich die URL?Ich habe das Beispiel gefunden, das ich für meinen Code verwendet habe Hier.
Lösung
Ok, ich habe die Lösung gefunden.Im URL-Parameter der JavaScript-Funktion statt ~site
, hätte ich verwenden sollen {SiteUrl}
.
Der UrlAction-Knoten sollte also sein:
<UrlAction Url="javascript:OpenPopUpPageWithTitle(
'{SiteUrl}/_layouts/SP/MyAppPage.aspx?ListId={ListId}&ItemId={ItemId}',
RefreshOnDialogClose,
530,
300,
'My custom menu')"/>