0

我正在从 Lotus notes 访问邮件。

为了访问“收件箱”,我使用以下代码:

_notesDatabase = _lotusNotesServerSession.GetDatabase(LotusNotesServer, "mail\\" + nsfName, false);
NotesView inbox = _notesDatabase.GetView("($Inbox)");

“草稿”也是如此。

但在这里我在 GetView 方法中指定每个视图的名称。这不是好的编码。

我想使用 C# 以编程方式列出这些视图“收件箱”、“草稿”。

谁能给我解决方案?

4

3 回答 3

1

NotesDatabase 类有一个名为 Views 的属性,可让您访问数据库中的所有视图。您可以循环访问它们以访问每个视图。

此外,这个名为 DatabaseProperties 的开源类可以帮助您获取设计文档列表,特别是数据库中的视图,以及更多视图的属性。

于 2009-08-31T14:29:13.637 回答
1

解决方案是:

Object[] docColl = _notesDatabase.Views as Object[];

foreach (Object objView in docColl) {  
   NotesView view = objView as NotesView;
   MessageBox.Show(view.Name);    
}
于 2009-09-01T16:01:54.857 回答
0

在 VB.net 中,获取所有视图(和文件夹)以及获取所有包含的文档的基本代码如下所示:

Dim s As New notesSession
Dim db As notesDatabase
Set db = s.CurrentDatabase
Dim vws As Variant
vws = db.Views
Forall v In vws
    'New View being processed
    Dim doc As notesDocument
    Set doc = v.getFirstDocument()
    While Not (doc Is Nothing)
        ' do something for each document
        ' ....
        Set doc = v.getNextDocument(doc)
    Wend
End Forall
于 2009-08-31T21:44:19.110 回答