ASP.NET从另一个窗口刷新一个窗口

时间:2008-11-06 21:23:25

标签: asp.net javascript .net-2.0

我有一个带有GridView的页面,它使用Javascript启动弹出窗口。然后,用户选择一个项目,该项目更新连接到GridView的数据并关闭弹出窗口。

如何刷新第一个(即“调用”页面)以便我可以刷新Gridview中显示的数据?

4 个答案:

答案 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点,所以我不被允许...... :(