我在更新面板中有一个链接,它调用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>
有人能在这看到这个问题吗?
答案 0 :(得分:1)
我相信window.print();
实际上是递归地调用你的print()
函数。尝试更改js函数的名称。