2012-01-21 8 views
3

Я создал новую библиотеку документов и настроил настраиваемый тип контента с помощью шаблона документов MS Word. Когда я нажимаю «Создать новый шаблон», он отлично работает. но мне нужно добавить некоторую логику в событие кнопки, где она войдет в эту библиотеку и создаст новый документ, так что, когда я войду в эту библиотеку, я увижу новый документ, созданный этим событием.Добавить/Создать новый документ в библиотеке документов SharePoint программно

я пытался делать это, как я хотел бы сделать регулярный элемент списка, но я получаю следующее сообщение об ошибке на item.update:

Чтобы добавить элемент в библиотеке документов, используйте SPFileCollection.Add()

Теперь я сделал некоторые исследования, но повсюду я вижу код для загрузки файла в библиотеку документов, но нет, где я могу найти, как добавить новый документ, используя мой шаблон, связанный в этой библиотеке документов.

, пожалуйста, помогите и спасибо.

+0

Можете ли вы опубликовать код из события нажатия кнопки (материал, который пытается добавить документ) –

ответ

0
public static void colFileMtod() 
{ 
    using (SPSite objsite = new SPSite("http://smi-dev.na.sysco.net/SyscoFinance/FSR/")) 
    { 
     using (SPWeb objWeb = objsite.OpenWeb()) 
     { 
      SPFileCollection collFiles = objWeb.GetFolder("BPCPublishRecord").Files; 
      SPList lst = objWeb.Lists["BPCPublishRecordCopy"]; 

      if (lst != null) 
      { 

       if (objWeb.Lists.Cast<SPList>().Any(list => list.Title.Equals("BPCPublishRecordCopy", StringComparison.OrdinalIgnoreCase))) 
       { 
        foreach (SPFile file in collFiles) 
        { 
         string strDestUrl = collFiles.Folder.Url + "/" + file.Name; 
         byte[] binFile = file.OpenBinary(); 

         SPUser oUserAuthor = file.Author; 
         SPUser oUserModified = file.ModifiedBy; 
         System.DateTime dtCreated = file.TimeCreated; 
         System.DateTime dtModified = file.TimeLastModified; 

         SPFile oFileNew = collFiles.Add(strDestUrl, binFile, oUserAuthor, oUserModified, dtCreated, dtModified); 
         SPListItem oListItem = lst.AddItem(); 
         oListItem = oFileNew.Item; 
         oListItem["Created"] = dtCreated; 
         oListItem["Modified"] = dtModified; 
         oListItem.Update(); 
         objWeb.AllowUnsafeUpdates = true; 
        } 
       } 
      } 
     } 
    }       
} 
+1

Вы должны добавить некоторые пояснения к вашему ответу, чтобы улучшить ее качество. – m02ph3u5

Смежные вопросы