updatePanel中js的奇怪问题

时间:2011-11-14 21:06:57

标签: javascript asp.net

我在更新面板中有一个链接,它调用js方法来打印当前窗口:

<a href="javascript:print()" id="cpMain_popupCouponDescriptionControl_hrefPrint">Print Coupon</a>

在Page_Load事件上调用js方法:

private void loadJs()
{
    String flashMap = "script";
    if (!Page.ClientScript.IsClientScriptBlockRegistered(this.Page.GetType(), flashMap))
    {
        ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), flashMap, "function print(){ alert('test'); window.print(); return false; }", true);
    }
}

当按下链接时,警报窗口会多次显示(点击“确定”后,这看起来很奇怪)但是从不调用window.print()(打开新的打印选项卡)。

如果我直接从javascript:window.link调用href它可以正常工作,但由于该链接包含在更新面板中,它不再有效(这就是我尝试注册脚本的原因)。< / p>

有人能在这看到这个问题吗?

1 个答案:

答案 0 :(得分:1)

我相信window.print();实际上是递归地调用你的print()函数。尝试更改js函数的名称。