我在页面中有iframe,而这个iframe包含一个提交按钮,可以执行某些功能。
我想要的是:在iframe提交完成后,调用父页面进行刷新。
我知道如何更新它:
parent.location.reload();
但是在提交完毕后我不知道该怎么做。
答案 0 :(得分:4)
在iframe上使用onload
事件处理程序。如果在提交后触发,请执行top.location.reload
...
// In parent
window.onload = function() {
document.getElementById("MY_IFRAME").onload = function() {
top.location.reload();
}
}
答案 1 :(得分:4)
我在所有方法完成后在代码中添加了这行代码解决了这个问题:
ScriptManager.RegisterStartupScript(this, typeof(string), "script",
"<script type=text/javascript>
parent.location.href = parent.location.href;</script>", false);
我没有写parent.location.reload()
并写parent.location.href = parent.location.href
的原因是不要将数据两次发送到服务器,因为我想要一个新的新页面加载。
答案 2 :(得分:2)
提交表单是Iframe中文档的最终操作。提交表单后,该页面已“提交”并且不再有效。如果您先刷新父级,则会丢失Iframe。您在Iframe中提交的那一刻,您将无法再与父母交谈。
你可以在这里做一些事情:
答案 3 :(得分:2)
如果您只想刷新父页面的某些部分而不需要刷新整个页面,并且大多数时候都是这种情况,因为这种方法不会重新加载iframe本身,您只需调用子页面中的javascript函数。
window.parent.myFunctionInParent('my argument');
指导您的资源位于:Refresh parent page partially from iframe
感谢。