【问题标题】:(Sensenet) How to Add File in 'Allowed child types' from Dotnet Client(sn-client-dotnet)?(Sensenet)如何从 Dotnet 客户端(sn-client-dotnet)在“允许的子类型”中添加文件?
【发布时间】:2019-08-28 13:06:57
【问题描述】:

我可以使用以下代码创建工作区:

var myWorkspace = Content.CreateNew("/Root/Sites/Default_Site", "Workspace", "MyWorkspace"); 等待 myWorkspace.SaveAsync();

如何使用 dotnet 客户端将 myWorkspace 设置为“允许的子类型”中的文件?

【问题讨论】:

    标签: c# sensenet


    【解决方案1】:

    AllowedChildTypes是工作区内容的一个字段,所以你可以像其他字段值一样设置它的值。该值应该是一个字符串数组(内容类型名称的数组)。

    content["AllowedChildTypes"] = ["File"];
    await content.SaveAsync();
    

    还有一个用于向内容的 AllowedChildTypes 添加内容类型的 OData 操作,它的名称是 AddAllowedChildTypes,它应该获取一个 contentType 数组(内容类型名称的字符串数组)作为参数。

       dynamic workspace = await Content.LoadAsync(workspace);
    
        Task<dynamic> task = workspace.AddAllowedChildTypes(new {contentTypes = ["File"]});
        var result = await task;
    

    https://community.sensenet.com/docs/built-in-odata-actions-and-functions/#add-types-to-allowed-child-types-action

    【讨论】:

    • @RezkarJs 我在回答中举了一些例子
    • 抱歉,它只是将默认 AllowedChildTypes 替换为仅文件,我需要默认 + 文件,如何?
    • @RezkarJs 你试过第二个例子吗? AddAllowedChildTypes 操作不会替换类型列表,只需将您设置的一个添加为参数
    • 这是无效的代码,我试过这个代码 > Task task = workspace.AddAllowedChildTypes(new { contentTypes = new string[] { "File" } });但默认 AllowedChildTypes 只是替换为 File only。
    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多