在我的Windows Phone 7应用程序中,我想发送一封电子邮件,其中邮件正文应包含我的应用程序中上一页的数据。以前我只是整合了这样的电子邮件设施:
private void Image_Email(object sender, RoutedEventArgs e)
{
EmailComposeTask emailComposeTask = new EmailComposeTask();
emailComposeTask.Subject = "message subject";
emailComposeTask.Body = "message body";
emailComposeTask.To = "recipient@example.com";
emailComposeTask.Cc = "cc@example.com";
emailComposeTask.Bcc = "bcc@example.com";
emailComposeTask.Show();
}
但是我无法在我的模拟器中测试它。现在在body
部分,我想要上一页的数据。那怎么做呢?
更新的代码:
if (this.NavigationContext.QueryString.ContainsKey("Date_Start"))
{
//if it is available, get parameter value
date = NavigationContext.QueryString["Date_Start"];
datee.Text = date;
}
if (this.NavigationContext.QueryString.ContainsKey("News_Title"))
{
//if it is available, get parameter value
ntitle = NavigationContext.QueryString["News_Title"];
title.Text = ntitle;
}
if (this.NavigationContext.QueryString.ContainsKey("News_Description"))
{
ndes = NavigationContext.QueryString["News_Description"];
description.Text = ndes;
}
现在我在邮件正文中写什么?我无法测试它,因为我没有设备。 我可以传递这样的值:
emailComposeTask.Body = "title, ndes, date";
答案 0 :(得分:1)
我认为代码是正确的。如果你想从上一页传递正文,你需要在页面导航时传递它。并设置emailComposeTask.Body = yourPassedValue。 像这样:
var date;
var title;
var ndes;
emailComposeTask.Body = title + "," + ndes + "," + date;
答案 1 :(得分:1)
您需要像这样编辑邮件正文行:
emailComposeTask.Body = title+" "+ ndes+" "+ date;
答案 2 :(得分:1)
由于您没有设置正确的电子邮件帐户,因此无法在模拟器中测试发送邮件。你也不能在模拟器中进行设置。
Body
属性是一个字符串,因此您可以放入任何您想要的内容。
使用以下代码只会生成一个包含该字符串的字符串:
emailComposeTask.Body = "title, ndes, date";
因此,结果邮件将包含一个包含“title,ndes,date”的正文作为文本。如果要使用名为title
的局部变量中的值替换标题,则需要使用以下语法:
emailComposeTask.Body = string.Format("{0}, {1}, {2}", title, nodes, date);