在表單遷移不同伺服器或網站集合時,硬編碼的絕對 URL 會導致資料連線失效。InfoPath 2010 引入 ServerInfo 類別,讓我們能以相對 URL 方式提交資料,打包成 WSP 方案後即可無縫移植。本文透過完整範例示範如何實作。
SubmittedTimeCards)。





提交按鈕事件中,利用 ServerInfo.SharePointSiteUrl 取得目前網站集合相對路徑,搭配資料夾名稱構成提交目標:
public void FormEvents_Submit(object sender, SubmitEventArgs e)
{
FileSubmitConnection fileSubmit = (FileSubmitConnection)this.DataConnections["SharePoint 庫提交"];
fileSubmit.FolderUrl = this.ServerInfo.SharePointSiteUrl.ToString() + "SubmittedTimeCards/";
fileSubmit.Execute();
// 提交成功
e.CancelableArgs.Cancel = false;
}
同一內容類型在不同子網站(如 Search 子網站)與根網站的表單庫中新建並提交,資料皆正確導向對應庫:



相對 URL 確保方案移植後無需修改程式碼,資料連線自動指向新伺服器,大幅降低維護成本。