2015-02-06 48 views
0

我不知道这里发生了什么,但我不能将两个字符串连接在一起,并在它们之间换行。我用下面的代码在我的Windows Store应用打开电子邮件客户端和预先填入电子邮件:c#加入字符串的电子邮件正文

String recipient = "[email protected]"; 
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,但它给出了同样的效果。任何想法,我要去错了吗?

+0

我会建议使用stringbuilder来做到这一点。它会更干净,但更重要的是它会提供更好的性能。 stringbuilder的一个例子是: StringBuilder builder = new StringBuilder(); builder.AppendLine(“This will a full line”); builder.Append(“这将开始在最后一个字符串,在这种情况下是一个新行的开始”) .AppendLine(“你也可以使用流利的格式,以提高可读性”); – Nick 2015-02-07 00:08:08

+0

感谢您指点我在正确的方向人们没有想到搜索Mailto的问题,而不是字符串问题以下作品String Bodymsg =“第一线”+“%0D%0A”+“第二线”; – 2015-02-07 07:49:37

回答

0

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

String Bodymsg = "Line One\nLine Two";

+0

如果这是问题,那么'Environment.NewLine'就可以工作得很好。 – 2015-02-07 00:05:53

+0

嗨对不起,没有工作 – 2015-02-07 07:42:17

0

没有看到您的更多的代码,你是如何使用的电子邮件,我会说这可能会在被格式化HTML。尝试连接两个字符串与<BR>

+0

这是我的完整代码我点击一个按钮,它运行上面的代码打开Windows 8的电子邮件程序,并编写电子邮件。问题出在消息体中,无论我尝试什么,我都无法让它放下行 – 2015-02-07 07:43:34