0

假设我正在从第 1 页发送数据,如下所示,

NavigationService.Navigate(new Uri("/Page2?id=" + id, UriKind.Relative));

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

NavigationService.Navigate(new Uri("Page2?data=" + data, UriKind.Relative));

我怎样才能区分这两个数据,如果我能确定控件应该去哪个功能,我也想知道?如果是这样,请告诉我方法或建议我提供一份文件。

4

2 回答 2

0

好吧,不要让你的生活很难使用简单的条件。我的意思是

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
    }
}

就是这样 (:

于 2013-10-23T13:54:44.620 回答
0

检查查询字符串参数

 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");
      }
  }
}
于 2013-10-23T13:55:55.767 回答