Вопрос

I posted a very much similar question yesterday but no one answerd so far. Now I have changed the functionality and stuck with the following problem. In this scenario, I have a RadWindow that i am opening from code behind file (.aspx page) on a button click. On this rad window I have a hidden field where I am setting value and now OnClientBeforeClose event I want to get the value from hidden field and assign it to a text box on my .ASPX page which is the parent page of this Rad Window. Could please anyone give me any idea how to do that. I have looked inot many examples on Telerik and StackOverflow but nothing working for me. Thanks in advance.

Rad Window Diclaration in my .Aspx.cs page

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

JavaScript function on RadWindow .ASPX page where I am setting value to the hidden field

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

JavaScript OnClientBeforeClose function on my .ASPX parent page (to close the RadWindow) where I am trying to get value from the hidden field and set in the TextBox of parent page

            function CommentsListPopUpRadWindowBeforeClose(oWnd, args) {
}
Это было полезно?

Решение

You can easily pass arguments to the RadWindow's Close function, from the child page:

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

and then retrieve the argument in the parent page by specifiying its OnClose function:

Add, in the aspx.cs file:

window.OnClientClose = "CommentsListPopUpRadWindow_OnClose";

and in the aspx parent page:

function CommentsListPopUpRadWindow_OnClose(radWindow, args) {
    var arg = args.get_argument();
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top