如何使用LaunchUriAsync在Windows 8中使用两行生成邮件正文文本

时间:2013-06-19 13:04:49

标签: windows-8 windows-runtime windows-store-apps winrt-xaml winrt-async

这是我的代码

 var body="Hello World";
 var mailto = new Uri("mailto:?to=a@a.com&subject=Hello&body="+body); 
 await Windows.System.Launcher.LaunchUriAsync(mailto);

我想在第一行显示'Hello'并且& “世界”在第二行。

我试过

  var body="Hello" + "/n" + "World"

但它不起作用。我们怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

试试这个

var body="Hello%0D%0AWorld"
var mailto = new Uri("mailto:?to=a@a.com&subject=Hello&body=" + body); 
await Windows.System.Launcher.LaunchUriAsync(mailto);

您必须使用%0D%0A代替\n

答案 1 :(得分:0)

接下来是@Xyroid,更通用的方法如下。

var body = "Hello" + Environment.NewLine + "World\nHere is Third Line" ;
body = System.Net.WebUtility.UrlEncode(body);
var mailto = new Uri("mailto:?to=a@a.com&subject=Hello&body=" + body); 
await Windows.System.Launcher.LaunchUriAsync(mailto);

请注意System.Net.WebUtility.UrlEncode()方法将某些文本转换为基于uri的参数。

答案 2 :(得分:-1)

试试此代码

StringBuilder body = new StringBuilder(); body.AppendLine(“你好”); body.AppendLine( “世界”);

string mailBody = body.ToString();