2012-06-13 146 views
-3

甲 - >乙導航,而不會丟失數據

B + ---> A +

反正是有導航到第二.XAML文件,並返回而不丟失在第一個數據,但攜帶來自第二位的數據看到頂部的小代表。

+3

...什麼?你有什麼嘗試? –

+0

位寬此 - 更多信息將是不錯 – Charleh

+0

我嘗試NavigationService.GoBack,但它只是沒有帶回從B XAML文件中的數據。現在我試圖將數據從A保存到一個數組,並且當用戶從B返回時重新加載它們,但是我相信比我嘗試去做的方式有一個簡單的答案。 – Sonamor

回答

3

保存狀態讀取數據,使用ApplicationSettings它獲取存儲在IsolatedStorage是如果你使用的是什麼希望數據能夠生存下來。或者國家可以保存在transient state

+0

這就是我一直在尋找的感謝。 – Sonamor

0

通過使用Server.Urlcode(參數)參數值就是你寫的特殊符號,例如+,值 - >,&

對於如:Response.redirect("~/default2.aspx?data" +server.Urlcode(txtdata.text))

+0

我沒有問題,從B返回數據到AI有一個問題,同時從B轉移數據的同時數據A – Sonamor

0

我會做的方式是在任何網頁上聲明一些公共變量App.xaml.cs

public partial class App : Application 
{ 
    public var item; 

    ...  
} 

,並把它們稱爲((APP)(App.Current))。項目,這樣你可以訪問變量不同的頁面。

(一些開發商可能會畏縮在看到全局變量,但嘿,它的工作原理)

+0

最後我跟着你的答案,但我知道它已經在那裏我是仍然想知道是否有另一種方式導航到另一個頁面,而不會丟失第一個頁面上的所有數據(沒有NavigateService.GoBack) – Sonamor

0

我所做的,最後被保存列表框在一個全局字符串變量,並用逗號單獨的值,然後讀取全局streang變量並將數據放回到列表框中。

將數據保存到字符串

//creating a string array 
     string[] scores = new string[lsScore.Items.Count]; 
     //filling the string array with the data from the listbox 
     lsScore.Items.CopyTo(scores, 0); 
     //filling a string with the joined values seperated by comma 
     string saveScores = string.Join(",", scores); 
     //saving the data to the global variable 
     saved.saveScores = saveScores; 

從字符串

​​