带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)
在本篇文章中,將與大家分享如何將一個帶有托管代碼(manage code)的InfoPath2007表單模版發布到SharePoint Server2007的表單庫中,并使得最終用戶可以通過瀏覽器方式訪問。
1.???????? 創建InfoPath表單模版
在這里,我們使用VSTO2005與InfoPath2007。生成帶有托管代碼的InfoPath表單模版有兩種方法:
l?方法一:首先,用InfoPath定制表單模版,包括數據源、視圖等。當需要使用托管代碼來實現表單的后臺邏輯操作的時候,通過VSTO2005建立InfoPath表單項目,然后使用之前創建好的模板。這種方法適用于表單模版數據項比較多,視圖比較復雜的場景。
l?方法二:直接通過VSTO2005建立InfoPath表單項目,在統一的VS.net環境中生成表單模版的數據源、視圖等部分。此種方法適用于表單模版數據項比較少,視圖比較簡單的場景,因為InfoPath的用戶使用體驗不是特別好。
在這里,我們使用方法二。
a)???????? 創建InfoPath項目。
?
選擇“InfoPath表單模版”,為項目命名為“IPFromBrowser”
?
如果需要使用已有的InfoPath表單模版,那么您需要在此處選擇左邊“基于現有表單模版創建項目”的“導入”。這里,我們選擇“設計新的:”-〉“表單模版”基于“空白”。因為我們需要創建一個可以在瀏覽器端使用的表單模版,所以,一定要選上最下方的“僅啟用瀏覽器兼容性功能”。選擇“確定”。
a)???????? 設計InfoPath表單模版:
開發界面如下:
?
如果沒有看到InfoPath設計器的部分,可以通過如下操作添加,選擇“視圖-〉設計任務”:
?
選擇“設計任務-〉數據源”,然后,選擇“添加域或組…”
?
? 我們將此節點命名為“textbook”.并將其作為“文本框”展示給最終用戶;
選擇左側的“工具箱”,將按鈕拖至設計界面:
雙擊“按鈕”,為按鈕編寫click事件:
?
選擇“編輯表單代碼”:
? 我們的應用場景是,點擊“按鈕”,上面的文本框顯示“hello onion!”。代碼如下:
調試編寫的項目,成功!
a)???????? 為表單模版發布做準備:信任級別及證書
選擇“工具”-〉“表單選項”
?
在“表單選項”中選擇“安全和信任”:
?
因為在表單中使用了代碼,所以在“安全級別”方面,要去掉“自動確定安全級別(推薦)”,而選擇“完全信任”:
?
與此同時,因為表單有代碼,而且安全級別設置為“完全信任”,相應的,“表單模版簽名”要選擇“為此表單模版簽名”。在此處,可以使用其它公司的認證、簽名。在這個演示中,我們使用windows自己的證書。即選擇“創建證書”:
?
點擊“選擇證書”,選中需要的證書后,點擊“確定”:
? 然后,點擊“確定”退出。
?
保存項目。
1.???????? 發布InfoPath表單模版
現在,我們開始發布InfoPath表單項目了。如果表單中沒有代碼,那您可以非常方便的把模版發布到文檔庫中。如果有了代碼,那就只能有一種方式,就是需要管理員審批。原理是,表單作者將表單庫發布到SharePoint上,其實是把表單發布到一個管理員可以訪問到的地方(比如網絡共享服務器)。管理員需要將表單模版上傳到管理中心的“管理表單”,確定將表單在“網站集”激活、可用。最后,管理員,需要在“網站集”上激活相應的表單模版。
這樣的過程雖然非常復雜,但是對于管理員維護表單模版非常方便。將模版的使用及開發、審核分開。
a)???????? 表單模版設計者發布表單模版到SharePoint服務器。
下面,我們就開始介紹如何發布InfoPath表單模版:
可以選擇“生成”-〉“發布”,也可以在“設計任務”中選擇“發布表單模版”,為了保險起見,您還可以運行“設計任務”中的“檢查設計方案”看模板是否有問題。
?選擇“具有或不具有InfoPath Forms Services的SharePoint服務器(S)”:
?
輸入需要發布表單模版的sharepoint地址:
?
點擊“下一步”,在這個頁面中,一定要保證選中“使用戶可以通過瀏覽器填寫此表單”,否則無法完成后續的發布工作。
?
選擇“下一步”,在這個頁面中,列出了“指定此表單模版的位置和文件名”,其實就是需要您填寫,希望把表單發布在什么位置供管理員審核、上載,同時,將工程文件打包成一個InfoPath表單模版.xsn文件,該文件中包含了VSTO生成的.dll代碼。
選擇“瀏覽”:
放在服務器上的文件,我們仍命名為“IPFromBrowser”:
?
選擇“下一步”,在此處,您可以添加InfoPath表單模版中的結點,作為顯示在SharePoint表單庫的列。
?
選擇“下一步”:
?
點擊“發布”。
?
選擇“關閉”。至此,表單創建者的工作完成了(在生產環境中,表單創建者需要告知管理員需要發布的表單模版包括模板存放的網絡位置)。
?
a)???????? 管理員上載表單模版,并審批、激活表單。
管理員打開“SharePoint 3.0管理中心”:
????????
選擇“應用程序管理”:
?
選擇“InfoPath Forms Services”的“管理表單模版”:
?
在此處,您可以看到所有管理表單,選擇“上載表單模版”:
?
選擇“瀏覽”,選擇剛才發布到網絡服務器上的InfoPath表單:
?
選擇“打開”:
?
在此,您可以選擇“驗證”,來檢查表單模版的問題:
?
點擊“確定”:
重新選擇InfoPath表單模版,點擊“上載”:
?
表單模版上載成功,點擊“確定”:
?
在“管理表單模版”頁面,您可以看到剛剛上載的表單模版“IPFromBrowser”:
?
點擊表單模版旁的下拉箭頭,選擇“激活到網站集”:
?
在這里,您可以選擇激活位置(也就是你需要使用該表單模版的位置)。點擊“確定”。
?
下面,我們來激活網站集上的表單模版。
進入SharePoint門戶網站:
??
選擇“網站操作”-〉“網站設置”-〉“修改所有網站設置”:
?
選擇“網站集管理”下面的“網站集功能”:
?
此時,您可以注意到,我們剛剛激活的表單模版IPFromBrowser處于“停用”狀態,點擊“激活”:
?
此時,該表單模版發布成功,已經可以使用了。下面,我們就將發布成功的表單模版部署到表單庫。
1.???????? 將InfoPath表單模版部署到表單庫
a)???????? 在SharePoint門戶網站上建立表單庫
打開主頁:
?
點擊“網站操作”-〉“查看所有網站內容”:
?
選擇“創建”:
?
??
選擇“庫”下面的“表單庫”:
?
為表單庫命名,其他值保持默認值,點擊“創建”:
?
點擊“設置”-〉“表單庫設置”:
?
選擇“常規設置”中的“高級設置”:
?
在“內容類型”部分的“是否允許管理內容類型”,選擇“是”;同時,將“啟用了瀏覽器的文檔”部分的“打開啟用了瀏覽器的文檔”,選擇“顯示為網頁”(否則,表單模版會以客戶端的方式打開):
?
其他值保持默認值,點擊“確定”:
?
?
b)???????? 將InfoPath表單模版部署到表單庫
繼續在上一頁面中操作:
?
在內容類型部分,您會看到“從現有網站內容類型添加”的鏈接,點擊:
?
?
在“可用網站內容類型”處,選擇我們需要部署的表單模版“IPFromBrowser”,將它添加到“要添加的內容類型”:
?
點擊“確定”。
至此,InfoPath表單的開發、發布、部署就完成了。讓我們來測試一下:
回到“IPFromBrowser”表單庫:
?
選擇“新建”-〉“IPFromBrowser”:
?
?
? 轉載自:李婷 2007/1/11
源代碼下載:InfopathDemoFile
轉載于:https://www.cnblogs.com/lygx/archive/2009/09/15/1567349.html
總結
以上是生活随笔為你收集整理的带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nowcoder OI 周赛 最后的晚餐
- 下一篇: nupkg格式_nupkg文件怎么打开(