2013-10-23 23 views
0

假設認爲我是來自第1頁發送數據,如下圖所示,如何區分windows phone中兩個頁面發送的數據?

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

並且如果我從第3頁發送另一個數據再次如下第2頁,

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

我怎樣才能辨別這兩個數據,也是我想要的,如果我能確定控制應該去哪個功能? 如果是這樣,請告訴我方式或建議我一個文件。

回答

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"); 
     } 
    } 
} 
+0

我們可以確定的價值,其功能控制sholud去??即我需要繼續流/// – Aju

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

就是這樣(:

相關問題