2012-06-13 140 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; 

从字符串

​​