C# 以编程方式创建smartform ektron

C# 以编程方式创建smartform ektron,c#,ektron,C#,Ektron,我已经创建了smartform,并使用bat文件生成了相关的类(使用xsd生成c#class)。然后,我将创建的smartform分配到一个特定文件夹,并使用CMS工作区创建了示例smartforms 有没有办法从代码隐藏创建smartform?我尝试了以下方法,但没有达到预期效果: ContentType<root> cData = new ContentType<root>(); cData.SmartForm.EventName = "Confere

我已经创建了smartform,并使用bat文件生成了相关的类(使用xsd生成c#class)。然后,我将创建的smartform分配到一个特定文件夹,并使用CMS工作区创建了示例smartforms

有没有办法从代码隐藏创建smartform?我尝试了以下方法,但没有达到预期效果:

    ContentType<root> cData = new ContentType<root>();
    cData.SmartForm.EventName = "Conference Event1";
    cData.SmartForm.EventDescription = "Test Description";
    cData.SmartForm.EventDate = DateTime.Now.AddMonths(2).ToString("yyyy-MM-dd");


    ContentTypeManager<root> contentTypeManager = new ContentTypeManager<root>();
    contentTypeManager.Add(cData);
ContentType cData=新ContentType();
cData.SmartForm.EventName=“会议事件1”;
cData.SmartForm.EventDescription=“测试描述”;
cData.SmartForm.EventDate=DateTime.Now.AddMonths(2).ToString(“yyyy-MM-dd”);
ContentTypeManager ContentTypeManager=新建ContentTypeManager();
contentTypeManager.Add(cData);

我找到了解决办法。您可以使用ContentManager实现它

    ContentManager contentManager = new ContentManager(ApiAccessMode.Admin);
    Ektron.Cms.ContentData contentData = new Ektron.Cms.ContentData();
    contentData.Title = "title 011";
    contentData.Html = "<root><EventName>Change1...</EventName>" +
                     "<EventDescription>Description Test</EventDescription>" +
                     "<EventDate>2014-10-30</EventDate>" +
                     "</root>";
    contentData.ContType = 1;
    contentData.Comment = "Automatically generated from a script.";
    contentData.FolderId = 86; //folder id to save you smart data
    contentData.IsPublished = true;
    contentData.IsSearchable = true;
    contentData.LanguageId = 1033;
    contentData.XmlInheritedFrom = 86; //folder id to save you smart data
    Ektron.Cms.XmlConfigData xcd = new Ektron.Cms.XmlConfigData();
    xcd.Id = 7; //SmartForm ID
    contentData.XmlConfiguration = xcd;
    contentManager.Add(contentData);
ContentManager ContentManager=newcontentmanager(ApiAccessMode.Admin);
Ektron.Cms.ContentData ContentData=新Ektron.Cms.ContentData();
contentData.Title=“Title 011”;
contentData.Html=“Change1…”+
“描述测试”+
"2014-10-30" +
"";
contentData.ContType=1;
contentData.Comment=“从脚本自动生成。”;
contentData.FolderId=86//用于保存智能数据的文件夹id
contentData.IsPublished=true;
contentData.IsSearchable=true;
contentData.LanguageId=1033;
contentData.XmlInheritedFrom=86//用于保存智能数据的文件夹id
Ektron.Cms.XmlConfigData xcd=新Ektron.Cms.XmlConfigData();
xcd.Id=7//智能表单ID
contentData.XmlConfiguration=xcd;
contentManager.Add(contentData);

我已经有了一个智能表单,我想通过编程方式更新它。这也可以吗?另外,在创建新内容之前,我如何检查以确保不存在具有相同标题的其他内容?谢谢