1

我昨天发布了一个非常相似的问题,但到目前为止没有人回答。现在我改变了功能并遇到了以下问题。在这种情况下,我有一个 RadWindow,我通过单击按钮从文件后面的代码(.aspx 页面)打开它。在这个 rad 窗口上,我有一个隐藏字段,我在其中设置值,现在 OnClientBeforeClose 事件我想从隐藏字段中获取值并将其分配给我的 .ASPX 页面上的一个文本框,该页面是这个 Rad 窗口的父页面。可以请任何人给我任何想法如何做到这一点。我在 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 父页面上的 JavaScript OnClientBeforeClose 函数(关闭 RadWindow),我试图从隐藏字段中获取值并在父页面的 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 回答