2015-10-19 132 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

相關問題