2013-01-11 64 views
0

昨天我發佈了一個非常類似的問題,但迄今沒有人回答。現在我已經改變了功能,並堅持以下問題。在這種情況下,我有一個RadWindow,它是從單擊按鈕後面的文件(.aspx頁面)後面的代碼打開的。在這個弧窗口我有一個隱藏的領域,我設置值,現在OnClientBeforeClose事件我想從隱藏字段中獲取值,並將其分配給我的.ASPX頁面上的文本框,這是Rad窗口的父頁面。可以請任何人給我任何想法如何做到這一點。我在Telerik和StackOverflow上看過很多例子,但沒有爲我工作。提前致謝。從RadWindow獲取價值OnClientBeforeClose JavaScript事件

拉德窗口Diclaration我.Aspx.cs頁

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

我在哪裏我的設定值的隱藏字段

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

的JavaScript OnClientBeforeClose功能RadWindow .aspx頁面中的JavaScript函數。 ASPX父頁面(關閉RadWindow)我試圖從隱藏字段獲取值並設置在父頁面的文本框中

  function CommentsListPopUpRadWindowBeforeClose(oWnd, args) { 
} 

回答

1

您可以輕鬆地將參數傳遞給RadWindow的關閉功能,從孩子頁面:

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

,然後通過specifiying其OnClose功能檢索父頁的說法:

添加,在該aspx.cs文件:

window.OnClientClose = "CommentsListPopUpRadWindow_OnClose"; 

,並在ASPX父頁面:

function CommentsListPopUpRadWindow_OnClose(radWindow, args) { 
    var arg = args.get_argument(); 
} 
+1

非常感謝弗朗西斯。你是一個明星,所以保持閃耀。 –