SharePoint 2013 開發——開發自定義操作APP

Justin-Liu發表於2015-06-26

自定義操作即我們所說的Ribbon和ECB(Edit Control Block),在SharePoint 2013之前,我們可以通過在解決方案中新增XML元素來實現建立自定義Ribbon和ECB,到了2013時代,利用APP也可以做類似的事情了,接下來我們看看如何利用APP來建立列表條目的自定義操作。

除了一些細節上的配置項,建立SharePoint APP專案跟之前提到的基本一樣。列表條目資訊通過查詢字串傳遞到外部的託管頁面。

首先建立一個SharePoint APP專案,名字就叫做CustomActionAPPTest。

接下來我們在Web專案中新增一個新的窗體,名字就叫做CustomActionTarget.aspx。

在頁面的空DIV元素下新增一個伺服器端控制元件:

<asp:Literal ID="Literal1"
                runat="server"
                Text="Hello to the world from a custom action app">
            </asp:Literal>

在後臺CS內碼表面的Page_Load方法中新增如下程式碼:

Literal1.Text = string.Empty;
            foreach (string queryStringParam in Request.QueryString)
            {
                Literal1.Text = Literal1.Text + "<br>" + queryStringParam +
                " = " + Request.QueryString[queryStringParam];
            }

操作完成之後如下圖所示:

下面我們通過SharePoint APP專案新增自定義操作。右鍵點選專案節點,選擇新增->新建項,選擇選單項自定義操作,名字取作MenuItemCustomActionTest,點選下一步彈出嚮導。

如上選擇之後點選下一步,定義選單項的文字和導航的目標頁面,為文字指定一個值,選擇我們之前建立的Web窗體,點選完成按鈕完成建立。

我們再來建立一個自定義Ribbon。右鍵點選專案節點,選擇新增->新建項,選擇功能區自定義操作,名字取作RibbonCustomActionTest,點選下一步彈出嚮導。

第一個部分選擇同上,點選下一步,定義Ribbon所在的位置為Ribbon.Documents.Manage,Ribbon的文字和Ribbon導航的目標頁面,點選完成按鈕完成建立。

建立這兩個物件會生成兩個Elements.xml元素定義檔案,我們修改一下里面Action相關的URL的查詢字串引數(?後面的部分)為如下所示:

ECB

{StandardTokens}&amp;SPListItemId={ItemId}&amp;SPListId={ListId}&amp;SPSource={Source}&amp;SPListURLDir={ListUrlDir}&amp;SPItemURL={ItemUrl}

Ribbon

{StandardTokens}&amp;HostUrl={HostUrl}&amp;Source={Source}&amp;ListURLDir={ListUrlDir}&amp;ListID={SelectedListId}&amp;ItemID={SelectedItemId}

注意這兩個引數名的值略微有些不同的,具體的查詢字串引數值可以自行探索一下,不僅限於所列,而且貌似Ribbon無法取到ItemURL這個值,有知道的朋友歡迎分享。好的,完成了,接下來執行F5部署我們的專案。

彈出瀏覽器之後,跳轉到我們的開發人員網站,點選左側導航的文件進入到文件庫的檢視頁面,如果沒有文件就上傳一個新文件,選中我們上傳的文件,點選Ribbon或者ECB選單,就可以看到我們自定義的操作了,點選可以看到效果。


~remoteAppUrl—表示遠端託管提供應用程式所在的網站頁面的URL。
CustomActionTarget.aspx—實現自定義操作的目標網站的ASPX頁面。
StandardTokens—為頁面提供標準的APP口令,包括宿主網站URL和上下文口令。
Source—觸發該自定義操作的源URL,用於操作完成後頁面的跳轉。
ListUrlDir/ListId—觸發該自定義操作所在的列表路徑/列表ID。
ItemUrl/ItemId—觸發該自定義操作的列表條目URL/列表條目ID。


相關文章