2013-10-30 100 views
1

嗨。我在第一頁上的代碼:使用查詢字符串來獲取參數c#windows phone 7

NavigationService.Navigate(new Uri("/Game/animais/A1.xaml?anim=cabra",UriKind.Relative)); 

而其他的網頁我有這樣的:

String anim = null; 
anim = this.NavigationContext.QueryString["anim"]; 

問題是,當它得到這個代碼我得到這個錯誤:

anim = this.NavigationContext.QueryString["anim"]; - nullreferenceexception was unhandled

我不知道什麼是錯的:■

回答

0

試試這個 希望這將幫助你

anim = Uri.UnescapeDataString(NavigationContext.QueryString["anim"]); 
+0

沒有工作,得到了同樣的錯誤,NullReferenceException異常是未處理 – dragonfoca

0

使用的OnNavigatedTo事件中檢索的QueryString值,NavigationContext被初始化此事件上

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    string anim = string.Empty; 

    if (NavigationContext.QueryString.TryGetValue("anim",out anim)) 
    { 
     // do something 
    } 
} 
+0

不工作,得到了同樣的錯誤,NullReferenceException異常是未處理 – dragonfoca

0

傳遞價值:在Firstpage.xaml.cs添加以下

最簡單的方法傳遞參數只是使用一個字符串,如:

private void btnNavigate_Click(object sender, RoutedEventArgs e) 
    { 
    string variable="test"; 
    string url = string.Format("/Game/animais/A1.xaml?parameter={0}", variable.toString()); 
NavigationService.Navigate(new Uri(url, UriKind.Relative)); 
    } 

獲取值:在另一個.xaml.cs中添加以下內容

注意:重寫OnNavigatedTo非常重要,然後可以使用NavigationContext獲取傳遞的參數。

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    string parameterValue = string.Empty; 
    parameterValue = NavigationContext.QueryString["parameter"]; 
} 

我認爲它爲你工作......

+1

有了這個,我得到這個 保護覆蓋無效的OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs E) { base.OnNavigatedTo(E); 的parameterValue = NavigationContext.QueryString [「動畫」] - keynotfoundexception了未處理 } – dragonfoca

+0

我認爲你錯了傳遞關鍵 – MansinhDodiya

+0

檢查我編輯的代碼 – MansinhDodiya

0

如果您放置在Windows_Loaded事件代碼,它的工作原理。

相關問題