我遇到了在页面之间传递参数的问题。OnNavigatedTo肯定被调用了,但if语句一直返回false,而它应该返回true。有人能朝正确的方向开枪吗?
以下是我的主页:
NavigationService.Navigate(new Uri("/Class_page.xaml?name=" + classes[0].name
+ "&code=" + classes[0].code + "&semester=" + classes[0].semester
+ "&index=" + index, UriKind.Relative));
以下是我的"Class_page":
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string cn, cc, sm, i, grd, oo, wg;
if (NavigationContext.QueryString.TryGetValue("name=", out cn) &&
NavigationContext.QueryString.TryGetValue("code=", out cc) &&
NavigationContext.QueryString.TryGetValue("semester=", out sm) &&
NavigationContext.QueryString.TryGetValue("index=", out i) )
{
/*it never reaches this point*/
NavigationService.Navigate(new Uri("/test_page.xaml", UriKind.Relative));
curr = Convert.ToInt32(i);
grades[curr] = new class_gds(cn, cc, sm); //adds course to array
class_name.Text = grades[curr].GetName();
class_code.Text = grades[curr].GetCode();
semester.Text = grades[curr].GetSemester();
}
更改此项:
if (NavigationContext.QueryString.TryGetValue("name=", out cn) &&
NavigationContext.QueryString.TryGetValue("code=", out cc) &&
NavigationContext.QueryString.TryGetValue("semester=", out sm) &&
NavigationContext.QueryString.TryGetValue("index=", out i)
对此:
if (NavigationContext.QueryString.TryGetValue("name", out cn) &&
NavigationContext.QueryString.TryGetValue("code", out cc) &&
NavigationContext.QueryString.TryGetValue("semester", out sm) &&
NavigationContext.QueryString.TryGetValue("index", out i)