2012-06-25 13 views
0

我在windows8 metro應用程序中創建了兩個頁面Page1.xaml和Page2.xaml。如何在Windows8導航到後臺頁面後將值重新分配到文本框metro apps

我在Page1.xaml中創建了一個文本框和超鏈接。在Page1.xaml中的文本框中輸入一些文本後,單擊該超鏈接按鈕。然後導航到Page2.xaml。在Page2.xaml中,我將顯示在Page1.xaml文本框中輸入的文本。

在進入Page2.xaml後,我點擊返回按鈕轉到上一頁Page1.xaml。這裏我想在前面輸入的文本框中顯示文本。

但是當單擊後退按鈕時出現錯誤。

能否請你給我提供的解決方案,用於提前的Page1.xaml

致謝

文本框顯示文本

回答

0

的一種方式,使在不同的腳本範圍內有效的代碼是使用WinJS命名空間。

例如,在page1.js,你會:

(function(){ 
    function setText(){ 
     var mytext = ""; 

     WinJS.Namespace.define("page1", { 
      text: mytext 
     }); 
    } 
})(); 
在page2.js

,你把文本中該命名空間:

(function(){ 

    page1.text = "page 2 text!"; 

})(); 

早在第1頁,你可以檢索後該值:

(function(){ 

    function setText(){ 
     var mytext = ""; 

     WinJS.Namespace.define("page1", { 
      text: mytext 
     }); 
    } 

    function getText() { 
     document.querySelector("#myTextField").value = page1.text; 
    } 
})(); 

我建議是有點更正式的關於你放什麼在命名空間,但是這一種方法來做到這一點。

+0

請問您可以在C#中提供解決方案。 Thnks。 –

+0

在XAML/C#中,它是標準視圖模型的東西。使每個頁面使用相同的視圖模型實例並綁定到相同的屬性。或者如果你真的很懶,請創建一個靜態變量。 :) –

相關問題