本文主要介紹SharePoint 2013中,簡單發布InfoPath表單,並添加后台代碼,示例比較簡單,主要描述的是一個創建InfoPath的過程,而非多么深奧的后台代碼,希望能夠給初學者帶來幫助。
主要過程有
Ø 新建一個InfoPath表單
Ø 修改表單的信任級別並添加證書
Ø 發布到InfoPath得到管理員認證
Ø 設計InfoPath布局及添加控件,在代碼中編輯,添加表單功能
Ø 發布表單到SharePoint文檔庫
Ø 修改文檔庫支持內容類型,並添加InfoPath表單的內容類型
詳細的創建過程
1、 打開InfoPath Designer,選擇空白表單,可以看到右側描述,發布到SharePoint或者網絡位置,我們要發布到網絡位置,然后上傳到SharePoint表單庫;
2、 新建以后,如下圖:
之后我們修改表單的標題,然后在右側添加域,之后再拖動至表單中間,當然我們可以選擇插入 – 表格進行布局;
3、下面就是添加域,如下圖:
4、添加域的名稱,如下圖:
5、添加表格進行布局,然后拖動Name到表格里,如下圖:
6、然后點擊文件 – 信息,高級表單選項,修改信任級別和證書:
7、表單選項,選擇安全和信任,如下設置,如果沒有證書,可以創建:
8、選擇發布,發布表單至SharePoint庫,如下圖:
9、選擇SharePoint網站的位置,中間如果彈框,需要管理員賬號,目的准備此表單以供管理員核准,如下圖:
10、點擊下一步,看到提示需經管理員核准,所以之前彈出需要管理員賬號;
11、指定模板的位置,發布核准后的表單到計算機上,如下圖:
12、選擇桌面,保存為infopath.xsn文件,如下圖:
13、添加列,也就是Name,選擇下一步:
14選擇發布,即把經過網站認證的模板,發布到物理路徑下了:
15、發布成功,該表單已經可以在瀏覽器中使用了,只需上傳到SharePoint服務器:
16、管理中心,上載表單模板(一般應用程序設置),先點擊驗證:
17、發現驗證通過,可以上傳了:
18、上載成功,如下圖:
19、在該模板的下拉列表中,選擇激活到網站集(激活后,會在網站集功能里多一個功能),如下圖:
20、激活表單模板頁面,選擇激活位置,點擊確定即可:
21、回到infopath.xsn表單,點擊開發工具,代碼編輯器,如下圖:
22、點擊完代碼編輯器,會彈出Visual Studio界面,如下圖:
23、回到InfoPath模板,點擊開發工具,添加OnLoad事件,如下圖:
鼠標放在選擇的事件上,會有提示,說明這個事件是做什么用的,在什么情況,我們應該使用該事件;
24、查看VS代碼里,會多一個事件,如下圖:
25、添加一個按鈕,如下圖:
接下來,我們可以右鍵菜單,選擇添加按鈕的代碼;我們也可以添加其他的控件,用來讀取或者展示我們的數據;
同時,在myFields中的Name上,右鍵可以復制xPath值,在表單代碼中獲取或者設置控件值的時候,都是需要的,也就是后面類似“/my:myFields/my:Name”這樣的;
26、在按鈕上右鍵,按鈕屬性,修改ID,點擊編輯表單代碼:
27、發現VS里多一個事件,可以在事件里添加我們的代碼;我只是測試表達發布,寫了個簡單的代碼,就是把一行string類型,輸出到Name域里面,如下圖:
28、更新模板的時候,可能會彈出版本號相同的問題,報錯,下面有解決方法:
29、更新模板的版本號,可以手動修改下表單選項中,版本控制的版本號,即可(強烈建議,版本號按照規律一點點來,不要亂寫,便於管理):
30、創建一個測試的文檔庫,作為表單發布使用,如下圖,選擇庫設置:
31、啟用內容類型管理,如下圖:
32、添加內容類型,如下圖:
33、添加我們的表單,Publish:
34、修改默認的內容類型,把我們的設置為默認:
35、可以看到新建文檔里面,有了我們發布的模板,點擊試試:
36、點擊Publish,彈出我們的表單,說明配置成功:
我這里只是一個簡單的測試表達,你可以試着開發推動工作流的,或者完成其他功能的表單,只要你需要;
37、點擊“按鈕”,發現按鈕的代碼執行了,如下圖:
將“這是一條測試數據…”輸出到Name域的控件里面了;
38、后來嘗試了調用一下SharePoint的對象模型,把Web.Title輸出來了,如下圖:
接下來,可以試試更復雜的SharePoint展示,或者,寫一個SharePoint功能表單,都是可以的,但是,InfoPath的弱點在於控件比較少,不夠靈活,這樣區別於SharePoint頁面。
39、輸出Web.Title簡單的代碼截圖,如下圖:
總 結
InfoPath表單在SharePoint中,有着挺重要的作用,看到的有收集xml信息,推動工作流,而我這里只是簡單的介紹了下發布InfoPath模板和編寫后台代碼入門。例子比較簡單,希望能夠給入門的人帶來幫助,有興趣的可以自己嘗試。