如何在CRM 2011插件中阅读电子邮件正文

时间:2012-04-16 09:23:04

标签: dynamics-crm-2011 crm dynamics-crm-online

我创建了一个插件,用于读取电子邮件的正文(描述)。但是当我尝试从插件中读取内容时,它给了我错误。它给了我NullReferenceException。我已经在创建新电子邮件活动(创建后)时注册了该插件。电子邮件实体中的主题字段是单行文本,但电子邮件正文(描述)是多行文本。我能够阅读该主题但无法阅读电子邮件正文。以下是我正在使用的代码:

var body = email_entity["description"];

我猜电子邮件正文以字符串数组的形式存储数据。当我使用下面的代码但没有将值赋给任何变量时,我没有错误。

var body = email_entity["description"];
string[] desc = (string[])body;

现在,如果我使用desc [0]设置变量中的值,它会抛出相同的NullreferenceException。

我不知道如何从插件中的多行文本字段中读取值。我在上面试过但是没用。

有没有人知道我错过了什么或做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

多行文本字段是字符串,而不是字符串数组。在行:

var body = email_entity["description"];

body是string类型。换行符位于该字符串中。 如果你想转换string into an array of strings for each newline character,请尝试:

List<string> bodyLines = email_entity["description"].Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);