2015-10-19 135 views
0

我有一个场景,我通过一个数据集(最多6条记录)循环,然后打开每个记录的新浏览器选项卡 - 每个选项卡显示其中一条记录的发票 - 不是最好的设计,但它是要求的。我使用下面的代码在一个foreach中建立一个URL并打开一个新的浏览器选项卡,问题是它通过确定循环,但只有打开1个新选项卡。 循环中发生的其他事情都起作用,所以问题似乎与代码有关。它打开第一个记录的第一个标签,之后不再有。 任何人都可以评论什么是错的?打开多个浏览器选项卡,但只有一个将打开

  string pageurl = "Label.aspx?booking=" + v.booking + "&pallet=" + v.palletId; 
      ScriptManager.RegisterStartupScript(Page, Page.GetType(), "popup", "window.open('" + pageurl + "','_blank')", true); 

回答

1

您只能有一个启动脚本。尝试将所有的window.open调用放在一个脚本中;

//This code inside loop 
string pageurl = "Label.aspx?booking=" + v.booking + "&pallet=" + v.palletId; 
string script += "window.open('" + pageurl + "','_blank'); " 

//This code outside loop 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "popup", script, true); 
+1

我想你只能有一个启动脚本*使用相同的键*。如果您调用'RegisterStartupScript'并提供不同的密钥(而不是重复使用“弹出”),它也应该起作用。 –

+0

@亚当V公平足够..任何解决方案将工作。 –

+0

是一种享受,@Rick S - 我会接受你的回答,但我确实得到了它的效果,但只是为了让代码整洁,我每次都要增加密钥,这都要感谢你们。 – DarkW1nter

相关问题