我有一个包含 iframe 的页面
从 iframe 中的一个页面中,我想回顾一下并使默认页面上的面板不可见,因为它掩盖了弹出窗口
我尝试使用 Parent.FindControl 但它似乎不起作用。我很肯定我在 findcontrol 中有正确的 ID,因为我使用 Firebug 检查面板并从那里复制了 ID
有谁知道我错过了什么?
我有一个包含 iframe 的页面
从 iframe 中的一个页面中,我想回顾一下并使默认页面上的面板不可见,因为它掩盖了弹出窗口
我尝试使用 Parent.FindControl 但它似乎不起作用。我很肯定我在 findcontrol 中有正确的 ID,因为我使用 Firebug 检查面板并从那里复制了 ID
有谁知道我错过了什么?
我没有完全理解你的问题,但我会尽力而为。
听起来您有一个 ASP.NET 页面,其中有一个 iframe 引用另一个 ASP.NET 页面,并且在 iframe 请求的那个页面中,您想要修改页面中包含的项目的可见性包含 iframe。
如果我对您的问题的理解是正确的,那么您在这里遇到了一些令人讨厌的问题。
所以你在这里有一些选择:
父文件:
<body>
<input type="text" id="accessme" value="Not Accessed" />
...
</body>
iframe 中的文档:
<head>
...
<script type="text/javascript">
function setValueOfAccessme()
{
window.parent.document.getElementById("accessme").value = "Accessed";
}
</script>
</head>
<body onload="setValueOfAccessme();">
</body>
iframe 内的文档在加载时访问document object
,window object
并使用该getElementId()
函数设置父文档正文内的输入值。
对于初学者来说,FindControl不是 Javascript 中的函数。
或者,这里有一个更有用的查找控制例程......
Public Shared Function MoreHelpfulFindControl(ByVal parent As UI.Control, ByVal id As String) As UI.Control
If parent.ID = id Then Return parent
For Each child As UI.Control In parent.Controls
Dim recurse As UI.Control = MoreHelpfulFindControl(child, id)
If recurse IsNot Nothing Then Return recurse
Next
Return Nothing
End Function