2010-11-25 191 views
2

在我的WP7应用程序中,我试图从一个屏幕导航到另一个。第一个屏幕包含我想要传递给第二个字符串的数据。Windows 7 PHONE - KeyNotFoundException

在我的按钮单击事件我有以下代码(更新):

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"]); 
} 

当我按下按钮它打破on NavigationContext.QueryString [“param”]指出有一个KeyNotFoundException

我在做什么不正确?

回答

4

您没有使用“=”,而且您也没有对该值进行编码。目前,查询部分只是

paramblah blah blah 

应该

param=blah%20blah%20blah 

您可以直接=有,我倾向于使用Uri.EscapeDataString的价值的一部分。

+0

我拿出空格并添加了Uri.EscapeDataString后,仍然收到相同的错误。我会更新我的示例,以显示我做了什么... – webdad3 2010-11-25 18:04:14