私はSharePointを初めて使用するので、何か間違ったことをした場合は修正してください。
予約を取るドキュメントライブラリ(ドキュメント、名前、電話番号などの顧客の情報)があります。次に、顧客からそれらの情報を取得してドキュメントライブラリに送信するサイトページとWebパーツを作成しました。そのフォームに入力して保存すると、listはパラメーターを非常にうまく取得します。その後、一部のユーザーがドキュメントを承認するために、そのライブラリの承認SharePointワークフローを作成しました。問題はここから始まります:手動で(アイテムの追加を押して)ドキュメントリストにアイテムを追加すると、ワークフロー列アイテム(ワークフローの名前)が自動的に生成され、正常に機能します。しかし、コードで追加しようとすると、ワークフローアイテムが生成されません。
public static void InsertIntoDocumentToLib( string name, int age,string path,SPContext context)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (var site = new SPSite(context.Site.ID))
{
using (var siteCollection = new SPSite(context.Site.Url)) // site.RootWeb
{
using (var currentWeb = siteCollection.OpenWeb(context.Web.ID))
{
SPList spList = currentWeb.Lists.TryGetList(DOCUMENT_LIB_NAME);
if (spList != null)
{
currentWeb.AllowUnsafeUpdates = true;
SPFolder myLibrary = currentWeb.Folders[DOCUMENT_LIB_NAME];
bool replaceExistingFiles = true;
string fileName = System.IO.Path.GetFileName(path);
FileStream fileStream = File.OpenRead(path);
SPFile spfile = myLibrary.Files.Add(fileName, fileStream, replaceExistingFiles);
spfile.Item[NAME_COLUMN] = name;
spfile.Item[AGE_COLUMN] = age;
spfile.Item.Update();
myLibrary.Update();
currentWeb.AllowUnsafeUpdates = false;
}
}
}
}
});
}