使用interop.domino.dll c#在.nsf文件中创建新文档,特别是用户下的联系人

使用interop.domino.dll c#在.nsf文件中创建新文档,特别是用户下的联系人,c#,contacts,lotus-domino,C#,Contacts,Lotus Domino,我正在尝试在特定用户下创建新联系人。我的联系人已成功创建,但我无法在$Contacts View中查看我的联系人,而无法在username.nsf文件(最近存档)文件夹下查看我的联系人。如何在$Contacts View下创建新文档。这是我用来创建新联系人文档的代码片段 NotesDatabase _localDatabase = _lotusNotesServerSession.GetDatabase("servername", "mail/username.nsf", false);

我正在尝试在特定用户下创建新联系人。我的联系人已成功创建,但我无法在
$Contacts View
中查看我的联系人,而无法在username.nsf文件(最近存档)文件夹下查看我的联系人。如何在
$Contacts View
下创建新文档。这是我用来创建新联系人文档的代码片段

NotesDatabase _localDatabase = _lotusNotesServerSession.GetDatabase("servername", "mail/username.nsf", false);                   

if(!_localDatabase.IsOpen)
{
    _localDatabase.Open();
}                  

NotesDocument contact = _localDatabase.CreateDocument();
contact.ReplaceItemValue("First Name","Test");
contact.ReplaceItemValue("Last Name", "Contact ");
contact.ReplaceItemValue("Mail Address", "testcontact@domain.com");
contact.ReplaceItemValue("Full Name", "Test Contact");
bool issuccess = contact.Save(true,false,false);

如果在DominoDesigner中打开这两个视图,您将看到每个视图中显示文档的条件(视图选择公式)。$Contacts的选择公式要求任何文档的表单字段设置为“Person”或“Group”。您没有设置表单字段。因此,只需添加contact.ReplaceItemValue(“Form”、“Person”)就可以解决问题。

如果在Domino Designer中打开这两个视图,您将看到每个视图中显示文档的条件(视图选择公式)。$Contacts的选择公式要求任何文档的表单字段设置为“Person”或“Group”。您没有设置表单字段。因此,只需添加
contact.ReplaceItemValue(“Form”、“Person”)
就可以解决问题。

只需添加一件事:上面代码中设置的项目不是Notes所期望的项目:文档似乎是空的,即使它们包含内容。以下是真实的项目:“名字”必须是“名字”,“姓氏”必须是“姓氏”,“邮件地址”必须是“邮件地址”,最后但并非最不重要的是,“全名”在备注中被称为“全名”。感谢Paul&Torsten提供的解决方案。当我实施你的两个建议时,效果很好。虽然你说问题现在已经解决了,但这可能对其他用户有所帮助:当使用新字段创建新文档时,你可能还需要设置字段(NotesItem)属性“IsSummary=True”以允许该字段显示在视图中。如果没有此标志,即使在视图选择公式中选择了文档,该字段也不会显示在视图列中。有时此属性是为您设置的,有时不是。您只需要添加一件事:上面代码中设置的项不是Notes所期望的项:文档似乎是空的,即使它们包含内容。以下是真实的项目:“名字”必须是“名字”,“姓氏”必须是“姓氏”,“邮件地址”必须是“邮件地址”,最后但并非最不重要的是,“全名”在备注中被称为“全名”。感谢Paul&Torsten提供的解决方案。当我实施你的两个建议时,效果很好。虽然你说问题现在已经解决了,但这可能对其他用户有所帮助:当使用新字段创建新文档时,你可能还需要设置字段(NotesItem)属性“IsSummary=True”以允许该字段显示在视图中。如果没有此标志,即使在视图选择公式中选择了文档,该字段也不会显示在视图列中。有时此属性是为您设置的,有时不是。