1

編集:私は条件付き構造を放棄し、毎回ウィンドウを新しく作成しました。それはうまくいきます。ただし、refresh()がURLで機能するかどうかはまだ疑問です。

私はこれに似た条件付き構造を持っています:

新しいコンテンツを剣道ウィンドウにロードする適切な方法は何ですか?

剣道ウィンドウがすでに存在する場合は、ウィンドウを新しく作成するのではなく、refresh()します。

違いは、URL付きのiframeを使用していることです。

問題:refresh()を呼び出す前にsetOptionsを使用して別のクエリ文字列を設定しましたが、元のURLがサーバーから再度要求されています。

   if (!kwindow) {
        kwindow =  $("#messagewindow").kendoWindow({ 
        iframe: true,
        width: "400px",
        height: "600px",               
        title: "original title", 
        content: "foo.htm?id=1",
        type: "GET"
    }).data("kendoWindow");    

  }else {

     kwindow.setOptions({
        iframe: true,
        type: "GET",
        title: aDifferentTitle,                    
        url : "foo.htm?id=2" 
     });
     kwindow.refresh(); 

  }
   kwindow.open();

ウィンドウのタイトルバーにaDifferentTitleが正しく表示されているため、 setOptionsメソッドがオプションを剣道ウィンドウに渡していることはわかっています。ただし、ネットワークトラフィックモニターを見ると、サーバーから要求されたURLはですが、そうである必要があります。foo.htm?id=1foo.htm?id=2

私は自分のコードの何が悪いのかわかりません。誰かが私にエラーを指摘してくれたらありがたいです。

4

3 に答える 3

1

あなたが探していた答えは

kwindow.options.content.url = url;

次に、更新アイコン/メソッドが新しいURLで機能します

于 2015-06-03T05:50:31.517 に答える
0

別のURLから更新するには、これをオプションオブジェクトを介してrefreshメソッドに渡す必要があります(setOptionsを使用する必要はありません)。ドキュメントの抜粋は次のとおりです。

var windowObject = $("#window").data("kendoWindow");
windowObject.refresh("/feedbackForm");

windowObject.refresh({
    url: "/feedbackForm"        
});
于 2013-02-19T19:28:49.957 に答える
0

私は以下を使用しましたが、MVCプロジェクトで機能しているようです。

    window.setOptions({
        title: "New Title"
     });

    window.refresh({
        url: "/ControllerName/Action"
    });

    window.open();
于 2013-09-25T11:33:17.587 に答える