簡體   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