如果以编程方式设置自定义操作,如何设置操作URL?

时间:2013-05-27 11:08:28

标签: c# sharepoint sharepoint-2013

当我使用xml中的常规自定义操作时,它具有:

<UrlAction Url="~remoteAppUrl/Pages/Default.aspx?{StandardTokens}&amp;SPListItemId={ItemId}&amp;SPListId={ListId}&amp;SPItemUrl={ItemUrl}" />

并且工作正常,但是当我使用

Microsoft.SharePoint.Client.UserCustomAction _customAction = web.UserCustomActions.Add();
_customAction.RegistrationType = UserCustomActionRegistrationType.ContentType;
_customAction.RegistrationId = _guidOfCreatedCT;
_customAction.Location = "EditControlBlock";
_customAction.Sequence = 450;
_customAction.Title = "TEST";
string rrr =AppRelativeVirtualPath.ToString();
_customAction.Url = "~remoteAppUrl/Pages/Default.aspx?{StandardTokens}&amp;SPListItemId={ItemId}&amp;SPListId={ListId}&amp;SPItemUrl={ItemUrl}";
_customAction.Update();
clientContext.ExecuteQuery();

此网址无效。我不知道如何格式化这个,我尝试了一切,仍然有任何想法。有人可以帮帮我吗?

这是Sharepoint 2013的自动主播应用。

2 个答案:

答案 0 :(得分:1)

您只需&amp;替换任何XML结构中的&amp; ,但您无需在后面的代码中使用&amp; ...

答案 1 :(得分:0)

只需在自定义网址前面使用http://或https://即可。否则,SharePoint会认为操作URL位于SharePoint中,因此它将自动生成站点相对URL。