在asp.net引用中,从javascript引用父页面的控件

在asp.net引用中,从javascript引用父页面的控件,javascript,asp.net,iframe,Javascript,Asp.net,Iframe,我在页面上有一个DropDownList,我在JavaScript中引用它,如下所示: var ProjectsDropDownList = '<%= ProjectsDropDownList.ClientID %>'; 但是,我不得不将DropDownList向上移动到父IFrame 如何从JavaScript中的子IFrame引用当前位于父IFrame中的控件?如果控件在移动到父帧后仍然具有相同的id,则可以执行以下操作: var movedElement = window.p

我在页面上有一个DropDownList,我在JavaScript中引用它,如下所示:

var ProjectsDropDownList = '<%= ProjectsDropDownList.ClientID %>';
但是,我不得不将DropDownList向上移动到父IFrame


如何从JavaScript中的子IFrame引用当前位于父IFrame中的控件?

如果控件在移动到父帧后仍然具有相同的id,则可以执行以下操作:

var movedElement = window.parent.document.getElementById(
    "<%= ProjectsDropDownList.ClientID %>");

当我尝试获取编译器错误消息时:CS0103:当前文件中不存在名称“ProjectsDropDownList”context@user390480,我明白了,我以为您正在移动客户端的控件,但似乎您已将其移动到服务器端的另一个ASP.NET页面。与控件交互的代码是否仍必须驻留在子帧中?因为这两个页面没有简单的方法来共享关于ProjectsDropDownList的信息,而使用会话状态这样做会使IMHO失去活力。是的,我将它从一个asp.net页面复制到另一个页面。子IFrame是第三方选项卡控件的结果,该控件允许我在选项卡中放置其他页面。选项卡位于iFrame中。因此,我需要子IFrames访问父级中的ProjectsDropDownList,以便它知道用户选择了哪个项目。@user390480,也许父级框架的标记是静态的,您可以在子框架脚本中硬编码下拉列表的ClientID?我意识到这不是一个最佳的解决方案,但会话状态也不是……我查看了源代码以获取生成的ID,奇怪的是,ID是ProjectsDropDownList。我没想到。所以它现在起作用了。var ProjectsDropDownList=window.parent.document.getElementById'ProjectsDropDownList';谢谢