0

我遇到了在页面之间传递参数的问题。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();
    }
4

1 回答 1

1

改变这个:

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)
于 2014-09-02T22:35:17.997 回答