2014-10-28 2 views
0

Я загружаю документ в библиотеку документов. Наряду с этим я создаю поле под названием «FieldID», объединив 2 значения. Однако я не могу увидеть это поле в библиотеке документов и, следовательно, не могу запросить документ в этом поле. Как я могу увидеть это поле или как получить документы, используя этот «FieldID». Это код.Получение документов из библиотеки документов sharepoint 2010

if (UploadFile.PostedFile != null || (UploadFile.PostedFile.ToString() != string.Empty)) 
{        
    String fileName = UploadFile.PostedFile.FileName.ToString();     
    string userLogin = SPContext.Current.Web.CurrentUser.LoginName;     
    Guid siteID = SPContext.Current.Site.ID; 
    SPDocumentLibrary exposureLibrary = null; 
    SPList listDoc = null; 
    SPFolder myLibrary = null; 

    SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
     using (SPSite oSite = new SPSite(siteID)) 
     { 
      using (SPWeb oWeb = oSite.OpenWeb()) 
      { 
       oWeb.AllowUnsafeUpdates = true; 
       // exposureLibrary 
       try 
       { 
        // Check if the document library already exists 
        exposureLibrary = (oWeb.Lists[SharepointCommon.Constants.USERINTERFACECUSTOMIZATIONSFEATURERECEIVER_EXPOSURE_DOCUMENTLIBRARY_NAME] as SPDocumentLibrary); 

        exposureLibrary.ContentTypesEnabled = false; 
        exposureLibrary.EnableAttachments = false; 
        exposureLibrary.EnableFolderCreation = false; 
        exposureLibrary.EnableVersioning = true; 
        exposureLibrary.NoCrawl = true; 
        exposureLibrary.OnQuickLaunch = false; 
        /* create a Text field for ID */ 


        SPFieldText field = (exposureLibrary.Fields["FILEID"] as SPFieldText); 

       // Check if the field is available 
        if (field == null) 
        { 
         SPFieldText fldID = (SPFieldText)exposureLibrary.Fields.CreateNewField(
             SPFieldType.Text.ToString(), "FILEID"); 
         fldID.Required = true; 
         fldID.MaxLength = 100; 
         fldID.Hidden = false; 
         exposureLibrary.Fields.Add(fldID); 
        } 
        //exposureLibrary.Update(); 
        myLibrary = exposureLibrary.RootFolder; 

       } 
       catch 
       { 

        // Determine the GUID of the document library 
        Guid ExposureDocumentLibraryId = oWeb.Lists.Add(SharepointCommon.Constants.USERINTERFACECUSTOMIZATIONSFEATURERECEIVER_EXPOSURE_DOCUMENTLIBRARY_NAME, SharepointCommon.Constants.USERINTERFACECUSTOMIZATIONSFEATURERECEIVER_EXPOSURE_DOCUMENTLIBRARY_DESCRIPTION, SPListTemplateType.DocumentLibrary); 

        listDoc = oWeb.Lists[ExposureDocumentLibraryId]; 

        /* create a Text field for ID */ 

        SPFieldText fldID = (SPFieldText)listDoc.Fields.CreateNewField(
            SPFieldType.Text.ToString(), "FILEID"); 
        fldID.Required = true; 
        fldID.MaxLength = 100; 
        fldID.Hidden = false; 
        listDoc.Fields.Add(fldID); 

        // Set properties of the document library 
        listDoc.ContentTypesEnabled = false; 
        listDoc.EnableAttachments = false; 
        listDoc.EnableFolderCreation = false; 
        listDoc.EnableVersioning = true; 
        listDoc.NoCrawl = true; 
        listDoc.OnQuickLaunch = false;         
        listDoc.Update(); 
        myLibrary = listDoc.RootFolder; 
       } 


       // Prepare to upload 
       Boolean replaceExistingFiles = true; 


       // Upload document 
       SPFile spfile = myLibrary.Files.Add(UploadFile.FileName + "(" + ViewState[UIConstants.CUSTOMERID].ToString() + " - "+ViewState[UIConstants.MondiPlantID].ToString()+ ")", UploadFile.FileContent, replaceExistingFiles); 
       //spfile.Item["FILEID"]= ViewState[UIConstants.CUSTOMERID].ToString() + " _ " + ViewState[UIConstants.MondiPlantID].ToString(); 
       //myLibrary.Item["ID"] = ViewState[UIConstants.CUSTOMERID].ToString() + " _ " + ViewState[UIConstants.MondiPlantID].ToString(); 
       spfile.Item.Update(); 
       oWeb.AllowUnsafeUpdates = false;`enter code here` 

       // Commit 
       myLibrary.Update(); 
       // Update the document library 
       oWeb.Update();       
      } 
     } 
    });  
} 

ответ

0

воздействиеLibrary.Fields.Add (fldID); // после этого этапа

//exposureLibrary.Update();

вам нужно раскомментировать это, потому что после того, как поле создается в Ьгу блоке, список/библиотека не обновляется

+0

Любая дополнительная помощь. Я хочу получить документы из библиотеки документов на основе некоторых условий и показать их как ссылку. Когда ссылка будет нажата, документ должен быть открыт. Спасибо за любую помощь .. – user2028871

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