我有一个带有GridView的页面,它使用Javascript启动弹出窗口。然后,用户选择一个项目,该项目更新连接到GridView的数据并关闭弹出窗口。
如何刷新第一个(即“调用”页面)以便我可以刷新Gridview中显示的数据?
答案 0 :(得分:1)
在弹出窗口中尝试:
<script>
window.opener.location.reload()
</script>
那应该刷新打开弹出窗口的页面
答案 1 :(得分:0)
如果您只需要在调用页面上触发回发,则应该可以:
<script>
window.parent.document.forms[0].submit();
</script>
通过明确提交表单,您可以避免在刷新调用页面时出现的警告。
如果你需要在回发期间触发GridView上的OnSelectedIndexChanged事件,那么事情就会有点过时,但你应该可以通过用合适的参数调用window.parent.document.__doPostBack()
来做到这一点。
答案 2 :(得分:0)
以下是解决方案:
Dim CloseScript As String = "<script language='javascript'>function closeWindow(){ window.opener.document.forms[0].submit();window.close();}closeWindow();</script>"
在.NET 2.0中,您必须将其添加到页面以在Javascript上面注册:
'register with ClientScript
'The RegisterStartupScript method is also slightly different
'from ASP.NET 1.x
Dim s As Type = Me.[GetType]()
If Not ClientScript.IsClientScriptBlockRegistered(s, "CloseScript") Then
ClientScript.RegisterClientScriptBlock(s, "CloseScript", CloseScript)
End If
答案 3 :(得分:0)
这是否可以避免“页面无法刷新”消息
window.opener.location = window.opener.location;
(对不起,我刚刚对TonyB的帖子发表了评论,但我没有足够的SO点,所以我不被允许...... :(