0

Windows8 メトロ アプリで Page1.xaml と Page2.xaml の 2 つのページを作成しました。

Page1.xaml に 1 つのテキスト ボックスとハイパーリンクを作成しました。Page1.xaml のテキスト ボックスにテキストを入力した後、そのハイパーリンク ボタンをクリックします。次に、Page2.xaml に移動します。Page2.xaml では、Page1.xaml テキスト ボックスに入力されたテキストを表示します。

ここでは、Page2.xaml に移動した後、前のページ Page1.xaml に移動するために [戻る] ボタンをクリックしています。ここでは、先ほど入力したテキストボックスにテキストを表示したいと思います。

しかし、戻るボタンをクリックするとエラーが発生します。

Page1.xaml の TextBox にテキストを表示するための解決策を教えてください。

前もって感謝します

4

1 に答える 1

0

さまざまなスクリプトスコープでコードを利用できるようにする1つの方法は、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;
    }
})();

名前空間に何を入れるかについてもう少し正式にすることをお勧めしますが、それはそれを行う1つの方法です。

于 2012-06-25T19:02:38.773 に答える