在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"的异常,但未在用户代码中处理
如何解决…
尝试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;
}