DNN - 添加安全文件夹

时间:2014-02-06 09:13:21

标签: module dotnetnuke

我目前正在编写一个用户可以添加安全文件夹的模块。

但是实例方法需要一个实例名称的参数,我不知道它们是什么意思。有人可以向我解释一下吗?

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

有什么建议我做错了吗?

2 个答案:

答案 0 :(得分: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);

这对我来说很好。

答案 1 :(得分:0)

您需要传入文件夹映射提供程序类型的名称。如果您搜索SecureFolderProvider的基类(FolderProvider)的用法,您将看到您需要的内容。

例如:

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

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

之前我从未实际使用过安全文件夹提供程序,所以我只是猜测你需要一个带有'安全'映射名称的那个(但你可能想根据你的需要使用'数据库'或创建你自己的文件夹提供商)。有关可用类型,请参阅数据库中的FolderMappings表。

来自DNN wiki http://www.dnnsoftware.com/wiki/Page/Folder-Typeshttp://www.dnnsoftware.com/wiki/Page/Folder-providers