【问题标题】:how to refresh parent window by using Javascript in .cs如何在 .cs 中使用 Javascript 刷新父窗口
【发布时间】:2012-01-25 08:05:57
【问题描述】:

如何在关闭弹出窗口(子窗口)的同时刷新父窗口。

我们在后面的代码中调用 java 脚本函数以使用 page.ClientScript.RegisterStartupScript() 刷新父窗口。但是在 IE(Internet Explorer)中可以正常工作,但在 Mozilla Firefox 和 Google Chrome 中无法正常工作。

在 Mozilla Firefox 中,弹出值保存在数据库中,但没有更新到父页面。如果我手动刷新,则值正在更新到父页面。如果我将调试器放在 IE 的 RefreshPage()(javascript 函数) 函数中,它会触发,但不会在 Firefox 中触发。

以下代码用于调用 .cs 类中的 javascript 函数。

 page.ClientScript.RegisterStartupScript(this.GetType(), "PopupSave", "<script>javascript:alert('" + dsMessage.Tables[0].Rows[0]["ErrorMessage"].ToString() + "');window.open('','_self','');window.close();window.document.forms[0].submit();</script>");

上面的代码RefreshPage()是刷新页面的javascript函数

function RefreshPage() { window.document.forms[0].submit(); }

请帮助我,我尝试了不同的场景,但没有输出。

我使用了不同的函数而不是 RefreshPage()

像 reload(),

window.opener.forms[0].submit(),

同样,但仍然没有任何人知道的输出,请帮助我。

【问题讨论】:

  • 你赢了刷新/重新加载,还是提交它?,因为它是改变窗口。到 window.top。

标签: c# javascript asp.net


【解决方案1】:

试试这个功能

在提交按钮上单击运行此脚本

<script language='javascript'> window.opener.frames.location='somepage.aspx';window.close();</script>

这对你有帮助!!!

【讨论】:

  • 它的 OP 的选择,如果它对他有用,他可以标记为答案。
  • 嗨.. Ravi.. iam 100% 肯定它会工作,因为我目前在我的项目中使用相同的代码......
  • 那为什么要强调标记为答案。我们所做的是为了知识。而不是“声誉”。
  • 然后“前进”询问声誉:P:P
【解决方案2】:

在尝试在窗口之间进行 js 调用之前。 在两个页面上将“document.domain”设置为相同的值。

【讨论】:

    【解决方案3】:
    protected void ButtonClick(object sender, EventArgs e)
    {
        string closeAndRefreshScript = @"<script type='text/javascript'>                                    
        window.opener.location.reload();
        window.close();
        </script>";
        base.Response.Write(closeAndRefreshScript);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多