在我的 WP7 应用程序中,我尝试从一个屏幕导航到另一个屏幕。第一个屏幕包含我想要传递给第二个字符串的数据。
在我的按钮点击事件中,我有以下代码(更新):
string data = "blahblahblah";
NavigationService.Navigate(new Uri(String.Format("/popup.xaml?param={0}", Uri.EscapeDataString(data)), UriKind.Relative));
在 popup.xaml 上我有以下内容:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
MessageBox.Show(NavigationContext.QueryString["param"]);
}
当我按下按钮时,它会在 NavigationContext.QueryString["param"] 上中断,指出存在 KeyNotFoundException
我做错了什么?
最佳答案
您没有使用“=”并且没有对值进行编码。目前查询部分只是
paramblah blah blah
应该是
param=blah%20blah%20blah
您可以直接包含 =,我倾向于使用 Uri.EscapeDataString
作为值部分。
关于windows-phone-7 - Windows 7 手机 - KeyNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279704/