2014-02-06 53 views
0

我目前正在編寫一個模塊,用戶可以在其中添加安全文件夾。DNN - 添加安全文件夾

但實例方法需要一個實例名稱的參數,我不知道它們是什麼意思。有人可以向我解釋嗎?

DotNetNuke.Services.FileSystem.SecureFolderProvider.Instance("Test2").AddFolder(txtFolderName.Text, new FolderMappingInfo 
      { 
       PortalID = base.PortalId, 
       MappingName = txtFolderName.Text 
      }); 

任何建議我做錯了什麼?

回答

1

隨着garethbh的一些幫助,我想出了這個:

    // Get folder mapping 
        var folderMapping = FolderMappingController.Instance.GetFolderMapping(PortalId, "Secure"); 

        // Add folder and get the result back of the folder information 
        var folder = FolderManager.Instance.AddFolder(new FolderMappingInfo 
        { 
         FolderProviderType = folderMapping.FolderProviderType, 
         FolderMappingID = 9, 
         Priority = 2, 
         PortalID = PortalId, 
        }, portalFilePath); 

這對我工作得很好。

0

您需要傳入文件夾映射提供程序類型的名稱。如果您搜索SecureFolderProvider的基類(FolderProvider)的用法,您會看到您需要的。

如:

var folderMapping = FolderMappingController.Instance.GetFolderMapping(PortalId, "Secure"); 

if (folderMapping != null) 
{ 
    SecureFolderProvider.Instance(folderMapping.FolderProviderType).AddFolder(folderPath, folderMapping); 
} 

我從來沒有實際使用的安全文件夾提供商之前,所以我只是猜測,你需要一個與「安全」的映射名稱(但你可能想使用「數據庫'根據您的需要或創建自己的文件夾提供程序)。請參閱數據庫中的FolderMappings表以瞭解可用的類型。

從DNN維基http://www.dnnsoftware.com/wiki/Page/Folder-Typeshttp://www.dnnsoftware.com/wiki/Page/Folder-providers