如何从radwindow中检索“父”页面的名称?

时间:2012-12-06 16:02:10

标签: c# asp.net telerik parent radwindow

我的asp网站发现了一个小问题。 这是原则。 - > 我设置了一个弹出窗口,允许用户发送电子邮件警报错误。当发送电子邮件时,我会发送用户当前页面的名称。但是,这会返回弹出窗口的名称而不是父页面....

如何从radwindow(弹出窗口)中检索“父”页面的名称页面('.aspx')?

我试过这个,但它不起作用

4 个答案:

答案 0 :(得分:2)

在弹出窗口的托管HTML中,您可以使用一段Javascript访问托管页面的DOM,如下所示:

  <script>
     alert(window.top.document.title);
  </script>

这将返回一个很好的警报框,其中包含托管RadWindow的页面标题。

答案 1 :(得分:2)

你能试试吗:

//myWindow beeing the popup 
myWindow.document.write("<br><br>" + myWindow.opener.document.location.href + "")

<强>更新

如果无法获取弹出窗口对象,则可以在查询字符串中传递调用窗口的URL:

radopen('urlOfThePopup.aspx?opener=' + document.location.href, ...)

然后在你的弹出代码中

<%=Request.Querystring("opener")%> 

答案 2 :(得分:1)

假设你有RadWindow而不是实际的浏览器弹出窗口,这就是你需要的代码:

// This is a common function when dealing with RadWindows and could be placed in some shared location
function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
}

// Use it like this
var parentTitle = GetRadWindow().BrowserWindow.document.title;

答案 3 :(得分:0)

你到底想要得到什么?页面有标题,而不是名称。 无论如何,看看这个:http://www.telerik.com/help/aspnet-ajax/window-programming-calling-functions.html。它将向您展示如何在主页面上调用JavaScript函数,以便它可以返回您需要的任何JS对象。