У меня проблема с настраиваемым действием в SharePoint 2019 в помещении.Настраиваемое действие добавляет ссылку в элемент меню панели меню SharePoint.Это коллекция миститов.
SharePoint 2013 (работает): https://ibb.co/PxM0wzP
В SharePoint 2019 нет ссылки (функция семейства сайтов развернута), см. Здесь: https://ibb.co/bRtkQXw
Сумасшедшая вещьэто не видно в Person.aspx. В default.aspx добавлено: https://ibb.co/XW2qh4h
Он отлично работает в старом 2013 на исходной версии SharePoint.Я понятия не имею, почему он не добавлен в person.aspx
Вот код для класса пользовательских действий:
public class EditProfileCustomLink : SPSecurityTrimmedControl
{
protected MenuItemTemplate menuItem;
protected override void CreateChildControls()
{
base.CreateChildControls();
SPUser currentuser = SPContext.Current.Web.CurrentUser;
SPWebApplication webApplication = SPContext.Current.Site.WebApplication;
if (currentuser != null && webApplication != null && webApplication.UserSettingsProvider != null )
{
try
{
// Get the assigned settings provide
SPUserSettingsProvider usp = webApplication.UserSettingsProvider;
// Get the source url
string sourceUrl = SPContext.Current.Site.MakeFullUrl(HttpContext.Current.Request.RawUrl.ToString());
sourceUrl = SPHttpUtility.HtmlEncode(DeltaPage.RemoveDeltaQueryParameters(sourceUrl));
string editProfileUrls = string.Format("~site/_layouts/15/EditProfile.aspx?UserSettingsProvider={0}&ReturnUrl={1}",
Uri.EscapeDataString(usp.ProviderIdentifier.ToString()),
sourceUrl);
// Initialize the menu item
this.menuItem = new MenuItemTemplate();
this.menuItem.Title = SPUtility.GetLocalizedString("$Resources:EditProfile", Constants.ResourceFile, (uint)CultureInfo.CurrentUICulture.LCID);
this.menuItem.Text = SPUtility.GetLocalizedString("$Resources:EditProfile", Constants.ResourceFile, (uint)CultureInfo.CurrentUICulture.LCID);
this.menuItem.Description = SPUtility.GetLocalizedString("$Resources:EditProfile", Constants.ResourceFile, (uint)CultureInfo.CurrentUICulture.LCID);
this.menuItem.Sequence = 1040;
this.menuItem.Visible = true;
this.menuItem.ClientOnClickNavigateUrl = editProfileUrls;
// Add custom menu item
this.Controls.Add(menuItem);
}
catch (Exception ex)
{
Logger.Instance.LogError(LogCategory.Web, String.Format("Error while creating edit profile link '{0}'", ex));
}
}
}
}
elements.xml:
<CustomAction
Id="29F3F98A-5338-41A3-BFAD-ECEED235873D"
GroupId="PersonalActions"
Location="Microsoft.SharePoint.StandardMenu"
ControlAssembly="$SharePoint.Project.AssemblyFullName$"
ControlClass="Brose.ProfileDisplay.Source.EditProfileCustomLink">
</CustomAction>