在下面的例子中,我將演示如何利用該類的成員在你的表單中以相對URL的方 式提交數據。這樣,我們就能把一個網站集打包成一個WSP,並移動到新服務器 上了。由於是相對地址,所以移動後提交所使用的數據連接也會自動指向新服務器。
初始設置:
為了確保我們的的表單模板無論是在遷移前還是遷移後都能正確的關聯到我 們的SharePoint表單庫,我將其發布為一個內容類型 (http://Office.microsoft.com/zh-cn/infopath-help/create-a-sharepoint -library-or-site-content-type-for-your-form-template-HA010103005.aspx )。將表單以網站內容類型的方式發布為沙箱解決方案是InfoPath 2010的一個 新功能。
然後,我將該內容類型關聯到適當的SharePoint 表單庫上。步驟如下:
1、新建一個表單庫。配合下面的代碼,這裡取名為SubmittedTimeCards
2、打開剛創建好的表單庫
3、打開位於功能區中庫標簽下的庫設置。
4、打開“高級設置”並將“是否允許管理內容類型”選為“是”。
5、在“內容類型”一節中選擇“從現有網站內容類型中添加”。
6、添加剛剛你發布到SharePoint服務器上的內容類型。
為方便用戶操作,最好是將其設置為默認內容類型。
例子:
對應上一篇中船舶租賃表單,其提交按鈕的代碼如下:
01 public void FormEvents_Submit(object sender, SubmitEventArgs e)
02 {
03
04 FileSubmitConnection fileSubmit = (FileSubmitConnection)this.DataConnections["SharePoint 庫提交"];
05 fileSubmit.FolderUrl = this.ServerInfo.SharePointSiteUrl.ToString() + "SubmittedTimeCards/";
06 fileSubmit.Execute();
07
08 // 如果提交操作成功,則設置
09 e.CancelableArgs.Cancel = false;
10 // 在此處編寫代碼。
11 }
這樣一來,就可以在不同的網站中使用該表單了。因為其數據源地址是一個 相對文件夾。
以下為在Search子網站中的表單庫裡新建:
點提交後:
以下是同一個內容類型,在根網站的表單庫中新建並提交後:
這就是相對URL帶來的好處。
希望對你有幫助!