SharePoint 2013 開發——開發自定義操作APP
自定義操作即我們所說的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}&SPListItemId={ItemId}&SPListId={ListId}&SPSource={Source}&SPListURLDir={ListUrlDir}&SPItemURL={ItemUrl}
Ribbon
{StandardTokens}&HostUrl={HostUrl}&Source={Source}&ListURLDir={ListUrlDir}&ListID={SelectedListId}&ItemID={SelectedItemId}
注意這兩個引數名的值略微有些不同的,具體的查詢字串引數值可以自行探索一下,不僅限於所列,而且貌似Ribbon無法取到ItemURL這個值,有知道的朋友歡迎分享。好的,完成了,接下來執行F5部署我們的專案。
彈出瀏覽器之後,跳轉到我們的開發人員網站,點選左側導航的文件進入到文件庫的檢視頁面,如果沒有文件就上傳一個新文件,選中我們上傳的文件,點選Ribbon或者ECB選單,就可以看到我們自定義的操作了,點選可以看到效果。
CustomActionTarget.aspx—實現自定義操作的目標網站的ASPX頁面。
Source—觸發該自定義操作的源URL,用於操作完成後頁面的跳轉。
ListUrlDir/ListId—觸發該自定義操作所在的列表路徑/列表ID。
ItemUrl/ItemId—觸發該自定義操作的列表條目URL/列表條目ID。
相關文章
- SharePoint 2013 開發——SharePoint APP介紹APP
- SharePoint 2013 開發——APP安全模型APP模型
- SharePoint 2013 開發——開發並部署第一個APPAPP
- SharePoint 2013 開發——開發並部署Provider-hosted APPIDEAPP
- SharePoint 2013 開發——APP開發的考慮和建議APP
- SharePoint 2013 開發——開發並部署webpartWeb
- SharePoint 2013 開發——概述
- SharePoint 2013 開發——CSOM概要
- SharePoint 2013 開發——Provider-hosted APP準備工作IDEAPP
- SharePoint 2013 開發——構建工作流開發環境開發環境
- SharePoint 2013 開發——SharePoint Designer 2013工作流
- SharePoint 2013 開發——釋出SharePoint應用程式
- Vue 3自定義指令開發Vue
- Java自定義註解開發Java
- SharePoint 2013 開發——工作流架構架構
- 短視訊開發app,webservice自定義加入攔截器APPWeb
- FlinkSQL自定義函式開發SQL函式
- iOS開發 AVFoundation自定義相機iOS
- Android開發之自定義SpinnerAndroid
- 維修app開發的意義APP
- 《SharePoint 2013 應用開發實戰》目錄
- ArcObjects SDK開發 007 自定義App-Command-Tool框架ObjectAPP框架
- Hexo 主題開發之自定義模板Hexo
- Android開發之自定義View(一)AndroidView
- Android開發之自定義View(二)AndroidView
- 微信公眾平臺開發(八) 自定義選單功能開發
- 微信公眾號開發5-自定義選單-微信開發phpPHP
- Win10 UWP開發系列:開發一個自定義控制元件——帶數字徽章的AppBarButtonWin10控制元件APP
- SharePoint 2013 開發——搜尋架構及擴充套件架構套件
- vue中使用高德地圖自定義開發Vue地圖
- 自定義開發資料庫升級程式資料庫
- JMeter自定義取樣器外掛開發JMeter
- Flutter 開發實戰——自定義省略字尾Flutter
- JMeter 擴充套件開發:自定義 Java SamplerJMeter套件Java
- JMeter擴充套件開發:自定義函式JMeter套件函式
- 如何快速開發靈活自定義報表
- C++ Qt開發:QItemDelegate 自定義代理元件C++QT元件
- rxjs Observable 自定義 Operator 的開發技巧JS