C# 如何在windows phone中区分从两个页面发送的数据? 假设我发送的数据来自第1页,如下所示, NavigationService.Navigate(new Uri("/Page2?id=" + id, UriKind.Relative));

C# 如何在windows phone中区分从两个页面发送的数据? 假设我发送的数据来自第1页,如下所示, NavigationService.Navigate(new Uri("/Page2?id=" + id, UriKind.Relative));,c#,windows-phone-7,C#,Windows Phone 7,如果我从第3页发送另一个数据到第2页,如下所示 NavigationService.Navigate(new Uri("Page2?data=" + data, UriKind.Relative)); 我如何区分数据和我想要的,如果我能确定控件应该使用哪个函数?? 如果是这样的话,请告诉我方法或建议我一份文件。好吧,不要让你的生活变得难以使用。我的意思是 protected override void OnNavigatedTo(System.Windows.Navigation.Naviga

如果我从第3页发送另一个数据到第2页,如下所示

NavigationService.Navigate(new Uri("Page2?data=" + data, UriKind.Relative));
我如何区分数据和我想要的,如果我能确定控件应该使用哪个函数??
如果是这样的话,请告诉我方法或建议我一份文件。

好吧,不要让你的生活变得难以使用。我的意思是

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    if (e.Uri.OriginalString.Contains("id"))
    {
        var ID = NavigationContext.QueryString["id"];          
        //this is a parameter from page1 
        // do something
    }
    else   if (e.Uri.OriginalString.Contains("data"))
    {
        var data = NavigationContext.QueryString["data"];          
        //this is a parameter from page2 
        // do something
    }
}

就是这样(:

检查查询字符串参数

 private bool HasData
    {
        get
        {
            return NavigationContext.QueryString.ContainsKey("data");
        }
    }

    private bool HasId
    {
        get
        {
            return NavigationContext.QueryString.ContainsKey("id");
        }
    }

     private string ReadValue(string key)
    {
        return NavigationContext.QueryString[key];
    }
读取值

private void DoAction()
  {

      if (HasData)
      {
          var data = this.ReadValue("data");
      }
      else if (HasId)
      {
          var id = this.ReadValue("id");
      }
  }
}

我们是否可以确定,控制应转到哪个功能?即,我需要继续流动///