亲爱的朋友们,
TextPart textPart = new TextPart();
textPart.Text = body; // body contains the html text.
if(textPart.IsHtml)
{
}else { }
文本部分IsHtml没有给我正确的结果。我知道我的正文包含HTML,但它仍然处于其他状态。
然后我查看了这个对话,但当我写的时候。它在ContentType上出现了错误。char不包含contentType的信息。
var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));
有人能指出我做错了什么吗?
textPart.IsHtml
不检查textPart.Text
是否包含html标记,而是检查textPart.ContentTyp
e是否与text/html
匹配。使用默认构造函数创建TextPart
时,它将创建text/plain
,而不是text/html
。
您需要使用:
TextPart textPart = new TextPart ("html");
您的以下代码:
var bodyii = textPart.Text.FirstOrDefault(x => x.ContentType.IsMimeType("text", "html"));
得到一个错误,因为textPart.Text
是string
,这意味着您的LINQ表达式对char
元素进行操作,而char
没有ContentType
属性。
换句话说,如果你这样做:
textPart.Text = "This is some text.";
然后,您的LINQ表达式,使用forewach循环转换为更简单的C#代码,将如下所示:
char bodyii = 0;
foreach (char x in textPart.Text)
{
if (x.ContentType.IsMimeType("text", "html"))
{
bodyii = x;
break;
}
}
这个代码对你有意义吗?不应该这样,这就是编译器给你一个错误的原因。