1

私は昨日非常によく似た質問を投稿しましたが、今のところ誰も答えていません。今、私は機能を変更し、次の問題で立ち往生しています。このシナリオでは、ボタンクリックでコードビハインドファイル(.aspxページ)から開いているRadWindowがあります。このradウィンドウには、値を設定している非表示フィールドがあり、OnClientBeforeCloseイベントで、非表示フィールドから値を取得して、このRadウィンドウの親ページである.ASPXページのテキストボックスに割り当てます。誰かが私にそれを行う方法について何か考えを教えてくれませんか。TelerikとStackOverflowで多くの例を見てきましたが、何も機能しません。前もって感謝します。

.Aspx.csページのRadウィンドウ宣言

    RadWindow window = new RadWindow();
    window.Title = "Comments Pick List";
    window.ID = "CommentsListPopUpRadWindow";
    window.NavigateUrl = "CommentsList.aspx";
    window.OnClientBeforeClose = "CommentsListPopUpRadWindowBeforeClose";
    window.Skin = "Metro";
    window.Behaviors = WindowBehaviors.Close;
    window.KeepInScreenBounds = true;
    window.VisibleStatusbar = false;
    window.Modal = true;
    window.Width = 750;
    window.MinHeight = 510;
    window.VisibleOnPageLoad = true;
    window.EnableViewState = false;
    RadWindowManager1.Windows.Add(window);

非表示フィールドに値を設定しているRadWindow.ASPXページのJavaScript関数

function displayItem(id) {
    var selectedText = document.getElementById(id);
    document.getElementById('hiddenSelectedTextField').value = selectedText.innerText;
}

.ASPX親ページ(RadWindowを閉じるため)のJavaScript OnClientBeforeClose関数で、非表示フィールドから値を取得し、親ページのTextBoxに設定しようとしています。

            function CommentsListPopUpRadWindowBeforeClose(oWnd, args) {
}
4

1 に答える 1

2

RadWindow子ページから、引数をのClose関数に簡単に渡すことができます。

function GetRadWindow() {
     if (window.radWindow) {
         return window.radWindow;
     }
     if (window.frameElement && window.frameElement.radWindow) {
         return window.frameElement.radWindow;
     }
     return null;
}
function ChildClose() {
     GetRadWindow().Close(document.getElementById('hiddenSelectedTextField').value);
}

OnClose次に、その関数を指定して、親ページの引数を取得します。

aspx.csファイルに次を追加します。

window.OnClientClose = "CommentsListPopUpRadWindow_OnClose";

およびaspx親ページ:

function CommentsListPopUpRadWindow_OnClose(radWindow, args) {
    var arg = args.get_argument();
}
于 2013-01-11T16:12:57.867 に答える