我有一个 aspx 页面,在该页面中我有一个 Iframe。在 Iframe 中,我在后面的代码中做了一些事情,完成后我想从 aspx 进行回发。
换句话说,是否可以从 iframe 背后的代码到父页面以编程方式进行回发?
我认为可以使用“ClientScript.GetPostBackClientHyperlink(New Control(), String.Empty)”完成回发,但我认为这只会对 iframe 进行回发。
最佳答案
我以两种不同的方式做到了这一点:
1)在父页面上有一个隐藏的按钮。当您需要它回发时,您注册了一些导致单击该按钮的 javascript:
父 HTML:
<asp:Button ID="Button1" runat="server" Text="" Style="background-color: Transparent;
color: inherit; border-style: none;" />
背后的 iframe 代码:
ClientScript.RegisterStartupScript(Me.GetType(), "RefreshParent", "<script type='text/javascript'>var btn = window.parent.document.getElementById('Button1');if (btn) btn.click();</script>")
2)从后面的代码注册一个客户端脚本,该脚本在父页面中的表单上调用回发。 JS 将是这样的:
window.parent.document.forms[0].submit();
关于.net - 以编程方式从 iframe 回发到父页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2411188/