如何在 AdminUI 之外的内容选取器中设置项目?

How can I set an item in Content Picker outside of AdminUI?

我有 ContentTypeAContentPickerA 字段。我还有 ContentTypeB 和其他字段等。这些是在 Migrations.cs 文件中创建的,该文件目前是我模块中唯一的代码(除了下面的工作流程 Activity 之外)。所以,没有零件、驱动程序等

我正在创建一个 Worfklow,在用户注册后,将从 ContentTypeA 中创建 ContentItem1,并从 ContentTypeB 中创建 ContentItem2

我想自动 link 内容项,这样我就可以用 ContentItem2 填写 ContentPickerA。重点是避免进入 AdminUI 手动 link 这些项目。

我搜索了很多,但未能找到任何具体示例,更不用说任何让我走上正轨的东西了。

非常感谢任何帮助。

在 Activities class 的 Execute 中,我能够使用以下代码实现此功能:

public override IEnumerable<LocalizedString> Execute(WorkflowContext workflowContext, ActivityContext activityContext)
    {
        LocalizedString outcome = null;

        try
        {
            //VARIABLES: DATA
            var mainTitle = "Test Content Title From Workflow Activity";
            var matterTitle = "Matter Type Title From Workflow Activity";

            //VARIABLES: NEW CONTENT ITEMS 
            var spacesMain = _contentManager.New("TestContentType");
            var spacesMatter = _contentManager.New("MatterType");

            //BIND DATA
            spacesMain.As<TitlePart>().Title = mainTitle;
            spacesMatter.As<TitlePart>().Title = matterTitle;

            //CREATE DRAFT CONTENT ITEMS
            _contentManager.Create(spacesMain, VersionOptions.Published);
            _contentManager.Create(spacesMatter, VersionOptions.Published);

            //SET CONTENT PICKER
            var contentPickerTest1 = ((dynamic)spacesMain).TestContentType.ContentPickerTest1;
            contentPickerTest1.Ids = new[] { spacesMatter.Id };

            outcome = T("Done");
        }
        catch (Exception exc)
        {
            workflowContext.SetState("Exception", exc);

            outcome = T("Error");
        }

        yield return outcome;

    }

希望这对某人有所帮助,因为作为一名非程序员,我很高兴终于看到 AdminUI 中的内容项将 ContentPickerField 设置为我创建的其他内容项。