[英]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.