Как программно сделать Submit в InfoPath 2010
Привет всем. Сегодня столкнулся с проблемой программного сохранения InfoPath форм в SharePoint 2010. И формы сохранять не просто в библиотеку, в в определённую папку библиотеки или под папку.
Так вот. Для начала Вам необходимо вызвать обработчик события Submit.
Делается это просто.
Далее необходимо написать что-то в обработчике. Нужно использовать класс FileSubmitConnection.
public void FormEvents_Submit(object sender, SubmitEventArgs e)
{
XPathNavigator root = MainDataSource.CreateNavigator();
string url = root.SelectSingleNode("/my:моиПоля/my:GSKGroup/my:urlsite", NamespaceManager).Value;
string directorat = root.SelectSingleNode("/my:моиПоля/my:Directorat", NamespaceManager).Value;
string division = root.SelectSingleNode("/my:моиПоля/my:Division",
NamespaceManager).Value;
SPSite oSiteCollection = new SPSite(url);
SPWeb rootweb = oSiteCollection.RootWeb;
// Submit the form to SharePoint
FileSubmitConnection fc = (FileSubmitConnection)this.DataConnections
["SharePoint Library Submit"];
fc.FolderUrl = rootweb.Url + "/DocLib/" + directorat + "/" +
division.Replace("\"", " ");
// Execute the submit connection
try
{
fc.Execute();
e.CancelableArgs.Cancel = false;
}
catch
{
e.CancelableArgs.Cancel = true;
}
}