在windows phone 8中传递查询时出错

本文关键字:查询 出错 windows phone | 更新日期: 2023-09-27 17:58:04

我正在开发windows phone 8应用程序。

我需要将一个值从一个页面传递到另一个页面。

我从这个页面将Splash.xaml设置为启动页面,我需要向main.xaml页面传递一个值。

在Splash.xaml页面中

 String add = "test";
  this.NavigationService.Navigate(new Uri(string.Format("/MainPage.xaml?Businessname={0}", add), UriKind.Relative));

在main.xaml页面中

  static string businessnamereturn;
  void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        NavigationService.RemoveBackEntry();
        businessnamereturn = NavigationContext.QueryString["Businessname"];
        Locationname.Text = businessnamereturn;
    }

businessnamereturn=NavigationContext.QueryString["Businessname"];在该行中,发生跟随错误

TravelAmericaVistorGuid.DLL中发生类型为"System.NullReferenceException"的异常,但未在用户代码中处理

如何解决…

在windows phone 8中传递查询时出错

尝试OnNavigatedTo方法

String add = "test";
NavigationService.Navigate(new Uri("/MainPage.xaml?myKey=" + add, UriKind.Relative));

您的上导航到方法

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (NavigationContext.QueryString.ContainsKey("myKey"))
    {
         businessnamereturn = NavigationContext.QueryString["myKey"];
         Locationname.Text = businessnamereturn;
    }
}

要传递值,您还可以在App.xaml 中定义一个全局变量

public string add { set; get; }

在您的Splash页面中,您可以指定值

 ((App)(App.Current)).add = "test";

在主页.xaml 中

static string businessnamereturn;
businessnamereturn=((App)(App.Current)).add;

在Splash.xaml页面中

  String add = "test";
    NavigationService.Navigate(new Uri("/MainPage.xaml?Businessname=" + add +  "",UriKind.Relative));

在main.xaml页面中

static string businessnamereturn;
 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            NavigationService.RemoveBackEntry(); 
            businessnamereturn = NavigationContext.QueryString["Businessname"];
            Locationname.Text = businessnamereturn;
        }