Я протестировал это, и он действительно открывает три окна, вам придется немного его настроить, передав список выбранных идентификаторов в Material, чтобы вы вызывали Material только один раз.Внутри материала в вашей обработке строки, после следующей строки,
Script += "<script language=JavaScript id='PopupWindow'>";
добавьте цикл for, который проходит через выбранные идентификаторы и добавляет window.open.Итак, следующие строки должны быть в цикле for / foreach
string querystring = "../pmis/Reports/RptRFQMatV.aspx?RFQNo=" + lblRFQNo.Text.ToString() + "&ID=" + sID;
Script += "confirmWin = window.open(' " + querystring + "','" + r.Next() + "','scrollbars=yes,resizable=1, width=960,height=500,left=50,top=130,status');";
, а затем следуют следующие строки и находятся вне цикла for.
Script += "confirmWin.Setfocus()</script>";
//ClientScript.RegisterStartupScript(typeof(string), "PopupScript", "PopupWindow");
if (!ClientScript.IsClientScriptBlockRegistered("PopupWindow"))
ClientScript.RegisterClientScriptBlock(typeof(string), "PopupWindow", Script);
Это мой пример и работает,Кроме того, было бы лучше, если бы вы использовали StringBuilder вместо строки + =
string Script = "";
Script += "<script language=JavaScript id='PopupWindow'>";
Script += "window.open('www.google.com.au', '1','scrollbars=yes,resizable=1, width=960,height=500,left=50,top=130,status');";
Script += "window.open('www.yahoo.com','2','scrollbars=yes,resizable=1, width=960,height=500,left=50,top=130,status');";
Script += "window.open('www.stackoverflow.com','3', 'scrollbars=yes,resizable=1, width=960,height=500,left=50,top=130,status');";
Script += "</script>";
if (!ClientScript.IsClientScriptBlockRegistered("PopupWindow"))
ClientScript.RegisterClientScriptBlock(typeof(string), "PopupWindow", Script);
Надеюсь, это поможет.