繁体   English   中英

在Windows Phone 8页面之间将特殊字符作为字符串传递

[英]Pass special characters as string between Windows Phone 8 pages

我正在尝试传递一个特殊字符,如字符串,例如&#由用户在文本框中输入。

然后将此字符串传递到下一页

NavigationService.Navigate(new Uri(String.Format("/Pages/EditNote.xaml?note={0}", strText), UriKind.Relative));

然后,在EditNote.xaml页面上检查note参数并获取其值

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

        if (NavigationContext.QueryString.ContainsKey("note"))
        {
            noteText = NavigationContext.QueryString["note"];
        }
}

问题是noteText是非字母数字字符(例如&#等)时,始终为空。

我想念什么?

由于特殊字符在url构造中具有预定义的含义,因此它将与带有特殊字符的url +数据混淆。

如果您的上下文还可以,也可以使用IsolatedStorageSettings。

来源页面:

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;

if (!settings.Contains("note"))
{
     settings.Add("note", "$#$#$#%#%#????===&&&&&some note Text!#@#@@@  someText @$$@%@%@%@^@@&^*@&(*(**)*)_((_(_(_*(&*(^*&%&%*)");
}

settings.Save();

NavigationService.Navigate(new Uri(@"/Pages/EditNote.xaml", UriKind.Relative));

目标页面:

string note = string.Empty;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("note"))
{
    note = settings["note"] as string;
}

在这里您可以传递所有特殊字符。

尝试使用UrlEncoding获取编码的特殊字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM