【问题标题】:c# Joining Strings for Email Body [duplicate]c#连接电子邮件正文的字符串[重复]
【发布时间】:2015-04-07 05:57:57
【问题描述】:

我不知道这里发生了什么,但我不能将两个字符串连接在一起并在它们之间使用换行符。我在我的 Windows 应用商店应用程序中使用以下代码打开电子邮件客户端并预填电子邮件:

String recipient = "me@here.com";
String Bodymsg = "Line One" + Environment.NewLine + "Line Two";
String SubLine = "Report Fault";
String BodyText = "mailto:?to=" + recipient + "&subject=" + SubLine + "&body=" + Bodymsg;
var mailto = new Uri(BodyText);
await Windows.System.Launcher.LaunchUriAsync(mailto);

这很好用,但身体是这样出来的。

Line OneLineTwo

我想得到的是

Line One  
Line Two

我尝试过使用"/r/n""/n" 而不是Environment.NewLine,但效果相同。有什么想法我哪里出错了吗?

【问题讨论】:

  • 我建议为此使用 stringbuilder。它会更干净,但更重要的是它会提供更好的性能。 stringbuilder 的一个例子是: StringBuilder builder = new StringBuilder(); builder.AppendLine("这将是一整行"); builder.Append("这将在最后一个字符串的末尾开始,在这种情况下是新行的开头") .AppendLine("您也可以使用流畅的格式来提高可读性");
  • 感谢您为我指明正确的方向 伙计们 没想到搜索 Mailto 问题而不是字符串问题 以下作品 String Bodymsg = "Line One" + "%0D%0A" + "Line Two" ;

标签: c# string join newline


【解决方案1】:

换行符是\n而不是/n,你试过了吗:

String Bodymsg = "Line One\nLine Two";

【讨论】:

  • 如果这就是问题所在,那么Environment.NewLine 就可以了。
  • 嗨对不起没用
【解决方案2】:

在没有看到更多代码以及您如何使用电子邮件的情况下,我会说它可能会被格式化为 HTML。尝试用<BR> 连接两个字符串。

【讨论】:

  • 这是我的完整代码,我单击一个按钮,它运行上面的代码,打开 Windows 8 电子邮件程序并撰写电子邮件。问题出在消息正文中,无论我尝试什么,我都无法让它掉线
猜你喜欢
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
  • 2019-07-14
  • 2018-01-07
相关资源
最近更新 更多