NavigationContext返回不完整的数据

芒格什

我有一个将电子邮件数据传递到另一个页面的代码。电子邮件正文可能包含HTML。

在第二页上,我观察到当'&'或'#'等进入正文内容时(从中获取数据时NavigationContext.QueryString.TryGetValue()),字符串中断并且无法获得其他数据。

首页上的代码发送数据:

string strParameters = string.Empty;

strParameters += "subject=" + objEmail.Subject;
strParameters += "&from=" + objEmail.FromAddress;
strParameters += "&to=";
for (int i = 0; i < objEmail.NumTo; i++)
{
     strParameters += objEmail.GetToAddr(i) + "; ";
}
strParameters += "&cc=";
for (int i = 0; i < objEmail.NumCC; i++)
{
    strParameters += objEmail.GetCcAddr(i) + "; ";
}
strParameters += "&body=" + objEmail.Body;
NavigationService.Navigate(new Uri("/PageReadMail.xaml?" + strParameters, UriKind.Relative));

第二页上的代码以接收数据:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    string strOriginalString = e.Uri.OriginalString;

    //get data received from navigation service
    string strBody = "";
    string strSubject = "";
    string strTo = "";
    string strCc = "";
    string strFrom = "";
    NavigationContext.QueryString.TryGetValue("body", out strBody);
    NavigationContext.QueryString.TryGetValue("subject", out strSubject);
    NavigationContext.QueryString.TryGetValue("from", out strFrom);
    NavigationContext.QueryString.TryGetValue("to", out strTo);
    NavigationContext.QueryString.TryGetValue("cc", out strCc);
}

在这里,strBody有不完整的数据。

亚森

参数应该是Url编码的

您应该在Uri的每个参数上使用HttpUtility.UrlEncode()Uri.EscapeDataString()或者,您可以Uri.EscapeUriString()在整个Uri上使用。

乌里(Uri)的长度有限制

也许您的琴弦更长并且正在修剪?虽然,我认为如果它更长,它只会抛出一个异常,而不是对其进行修剪,但是您应该将其检出。

更好地将整个电子邮件对象传递给PageReadMail

我认为,将整个电子邮件对象传递给页面,而不是将其转换为字符串并在Uri中传递,将更加容易和安全。

只需将类型的静态属性添加YourEmailObjectTypePageReadMail类并设置该属性,然后再导航至页面。导航后,从该属性(而不是从导航Uri)获取电子邮件的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QNetworkReply 返回不完整的 XML 数据

来自分类Dev

outsideHTML数据不完整

来自分类Dev

C:返回类型不完整

来自分类Dev

数据生成不完整:Python随机

来自分类Dev

数据框中的清单不完整

来自分类Dev

从表单收集的数据不完整

来自分类Dev

Nest API的数据不完整

来自分类Dev

美丽的汤使XML数据不完整

来自分类Dev

数据不完整的机器学习

来自分类Dev

分数不完整

来自分类Dev

分数不完整

来自分类Dev

HWadress不完整

来自分类Dev

PHP DOMDocument getElementsByTagName返回不完整的元素?

来自分类Dev

POP3-LIST返回的信息不完整?

来自分类Dev

领域查询返回Android中设置的不完整结果

来自分类Dev

Web API HttpResponseMessage内容返回不完整

来自分类Dev

Java Active Directory查询返回不完整的用户列表

来自分类Dev

如何返回一个不完整的对象?

来自分类Dev

协变返回类型,常数和不完整类

来自分类Dev

不完整的FLWOR表达式:期望“返回”

来自分类Dev

/(userid)/ likes /(pageid)返回不完整的结果

来自分类Dev

冬眠。返回不完整的对象。映射问题

来自分类Dev

Android:Rest API返回的响应不完整

来自分类Dev

VBA自动筛选器返回不完整的列表

来自分类Dev

React Native中的FBSDKGraphRequest返回不完整的对象

来自分类Dev

Google Cal API返回不完整的事件资源

来自分类Dev

PHP ODBC SELECT 返回不完整的字段

来自分类Dev

结构函数返回不完整的类型

来自分类Dev

Azure CLI 返回不完整的 webapp 列表