0

我在 windows8 Metro 应用程序中创建了两个页面 Page1.xaml 和 Page2.xaml。

我在 Page1.xaml 中创建了一个文本框和超链接。在 Page1.xaml 的文本框中输入一些文本后单击该超链接按钮。然后它导航到 Page2.xaml。在 Page2.xaml 中,我将显示在 Page1.xaml 文本框中输入的文本。

在来到 Page2.xaml 之后,我单击返回按钮以转到上一页 Page1.xaml。在这里,我想在我之前输入的文本框中显示文本。

但是单击后退按钮时出现错误。

您能否提供在 Page1.xaml 的 TextBox 中显示文本的解决方案

提前致谢

4

1 回答 1

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;
    }
})();

我建议对你在命名空间中放置的内容更正式一些,但这是一种方法。

于 2012-06-25T19:02:38.773 回答